我有这个 json:
{"myFriends":{"userId":"the user id", "userName":"the user name", "friends":[{"u":"friend user id","n":"friend user name"},{"u":"friend user id","n":"friend user name"}]}}
我想将他发送到服务器的 post 请求中,这是我目前尝试执行此操作的方式:
+(NSData *)postDataToUrl:(NSString*)urlString :(NSString*)jsonString
{
NSData* responseData = nil;
NSURL *url=[NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
responseData = [NSMutableData data] ;
NSMutableURLRequest *request=[NSMutableURLRequest requestWithURL:url];
NSString *bodydata=[NSString stringWithFormat:@"%@",jsonString];
[request setHTTPMethod:@"POST"];
NSData *req=[NSData dataWithBytes:[bodydata UTF8String] length:[bodydata length]];
[request setHTTPBody:req];
NSURLResponse* response;
NSError* error = nil;
responseData = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *responseString = [[NSString alloc] initWithData:responseData encoding:NSUTF8StringEncoding];
NSLog(@"the final output is:%@",responseString);
return responseData;
}
json 字符串包含json,但由于某些原因,服务器总是得到nil 并返回错误。如何解决这个问题?
最佳答案
告诉您的服务器内容类型肯定会有所帮助:
[request addValue:@"application/json"
forHTTPHeaderField:@"Content-Type"];
此外:在我自己的代码中我使用:
[request setHTTPBody:[bodydata dataUsingEncoding:NSUTF8StringEncoding]]
关于ios - 从 nsstring 发送 Post http 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34362556/