我已经搜索过了,但在这里找不到:
我正在尝试将 NSData 对象发送到 Web 服务。 NSData 对象是一个使用 iOS 5 内置 JSON 的 JSON 对象。
我需要进行异步发送,然后检查服务器返回的响应。
我不想使用任何第 3 方库。
这是我已经得到的但不起作用的东西:
NSDictionary * initialLogAsJSON = [NSDictionary dictionaryWithObjects:items forKeys:keys];
NSError * error;
NSData * jsonData = [NSJSONSerialization dataWithJSONObject:initialLogAsJSON options:NSJSONWritingPrettyPrinted error:&error];
NSMutableURLRequest * request = [NSMutableURLRequest requestWithURL:[NSURL URLWithString:kURLSendTestStartedDataToTenOneServer ]];
[request setHTTPMethod:@"POST"];
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"appliction/json" forHTTPHeaderField:@"Content-Type"];
[request setValue:[NSString stringWithFormat:@"%d", [jsonData length]] forHTTPHeaderField:@"Content-Length"];
[request setHTTPBody: jsonData];
[NSURLConnection sendAsynchronousRequest:request
queue:self.queue
completionHandler:^( NSURLResponse * response, NSData * data, NSError * error )
{
NSLog( @"If finished with reponse = %@\nData: %@\nError %@", response, data, error );
// do something useful
}
];
最佳答案
两个问题:
1) 你应该断言或记录那个调用中的每个对象,这样你就知道什么都不是 nil。
2) 你这里有错字:
[request setValue:@"application/json" forHTTPHeaderField:@"Accept"];
[request setValue:@"appliction/json" forHTTPHeaderField:@"Content-Type"];
第二个应用程序缺少一个“a”
关于ios - 在不使用第三方库的情况下将 NSData JSON 对象发送到 Web 服务,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12012614/