use*_*567 7 iphone objective-c ios ios6
我使用以下代码,
NSString *jsonD = [NSString stringWithFormat:@"rawJson=%@",[fbUserInfo jsonUTF8String]];
NSData *myRequestData = [jsonD dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url
cachePolicy:policy timeoutInterval:20.0];
[ request setHTTPMethod: @"POST" ];
[request setValue:[NSString stringWithFormat:@"%d", [myRequestData length]] forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[ request setHTTPBody: myRequestData ];
Run Code Online (Sandbox Code Playgroud)
在这段代码中我有日期2013-06-29T18:33:17+0000.问题是我的服务器接收日期为 2013-06-29T18:33:17 0000.看到空间.我不知道为什么会这样.
仅仅因为你指定编码头并不意味着NSURLRequest将实际执行所述编码.
该CFURLCreateStringByAddingPercentEscapes函数可以为您的字符串进行URL编码.
如果您不关心编码并且只想发送简单的字符串,我建议您完全跳过编码并使用"text/plain"内容类型.
另一种选择是使用JSON而不是表单编码("application/json").无论是在服务器端还是在客户端,JSON都更容易使用.Cocoa内置了对JSON的支持.
编辑:现在我再次阅读你的代码,我看到你命名你的变量,表明数据已经是JSON.如果是这样,解决方案是使用"application/json"内容类型并确保服务器正确理解和解码.
| 归档时间: |
|
| 查看次数: |
4759 次 |
| 最近记录: |