您好我正在开发小型IOS应用程序,我希望将json数组作为发布数据发送。我尝试了以下方式:
NSString *sampleParam = @"[{\"user:\"\"me Nilesh \"}]";
NSURLSessionConfiguration *defaultConfigObject = [NSURLSessionConfiguration defaultSessionConfiguration];
NSURLSession *defaultSession = [NSURLSession sessionWithConfiguration: defaultConfigObject delegate: nil delegateQueue: [NSOperationQueue mainQueue]];
NSString *urlString = @"ABC.com";
NSURL * url = [NSURL URLWithString:urlString];
NSMutableURLRequest *urlRequest = [NSMutableURLRequest requestWithURL:url
cachePolicy:NSURLRequestUseProtocolCachePolicy
timeoutInterval:60.0];
[urlRequest setHTTPMethod:@"POST"];
[urlRequest setHTTPBody:[sampleParam dataUsingEncoding:NSUTF8StringEncoding]];
NSURLSessionDataTask * dataTask =[defaultSession dataTaskWithRequest:urlRequest
completionHandler:^(NSData *data, NSURLResponse *response, NSError *error)
{
dispatch_async(dispatch_get_main_queue(),^
{
// handle result here ...
});
}];
[dataTask resume];
我有这样的日志记录
-[GCKDeviceScanner startNetServiceScan] startNetServiceScan
-[GCKDeviceScanner stopNetServiceScan] stopNetServiceScan
状态代码为零,错误是请求超时后。
所以这是我的场景我试图将json数组数据发送到我的服务器。一段时间后我启动API调用后,它会将状态代码设置为零并请求超时错误。但主要的是它正在更新我的服务器上的数据。那么为什么它给出了状态码为零的错误。有什么我做错了或我错过了什么。 它一直在给出这个错误。是因为NSURLSessionConfiguration。
答案 0 :(得分:0)
也许您的服务器需要在POST请求中指定内容类型:
[urlRequest setValue:@"application/json" forHTTPHeaderField:@"Content-Type"];