2015-09-17 26 views
-1

我想发送json数组数据到服务器,但它显示结果失败。 所以plaese纠正我在哪里,我没有wrong.Here是代码我正在使用本:在iOS中发布json数组到服务器?

NSDictionary *[email protected]{@"groupmembersarray":contactsArray}; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:dict 
                options:NSJSONWritingPrettyPrinted error:&error]; 
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; 
NSString *post = [NSString stringWithFormat:@"%@",jsonString]; 
NSData *postData = [post dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES]; 
NSString *postLength = [NSString stringWithFormat:@"%lu",(unsigned long)[postData length]]; 
NSMutableURLRequest *request = [[NSMutableURLRequest alloc] init]; 
[request setURL:[NSURL URLWithString:@"http://anaadit.net/caffe/newapp/AddGroupContact.php"]]; 
[request setHTTPMethod:@"POST"]; 

[request setValue:postLength forHTTPHeaderField:@"Content-Length"]; 
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"]; 
[request setHTTPBody:postData]; 
NSURLConnection *conn = [[NSURLConnection alloc] initWithRequest:request delegate:self]; 
if(conn==nil) { 
    NSLog(@"Connection could not be made"); 
} else { 

    responseData = [NSMutableData new]; 
    NSLog(@"%@",responseData); 
} 

和NSURL连接委托方法调用,但响应显示为零。 所以请检查并纠正我。提前感谢。

+0

您的问题已经在这里找到答案:http://stackoverflow.com/questions/7673127/how-to-send-post-or-get-request-containing-json-to-a-url –

+0

我也在使用它,但没有使用,结果是:requestReply:{“result”:“0”} –

回答

0

使用AFNetworking框架工作,而不是,易于使用和实施。在AFNetworking https://github.com/AFNetworking/AFNetworking

POST请求 -

AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager]; 
NSDictionary *[email protected]{@"groupmembersarray":contactsArray}; 
manager.requestSerializer = [AFJSONResponseSerializer serializer]; 
[manager POST:@"http://anaadit.net/caffe/newapp/AddGroupContact.php" parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject) { 
NSLog(@"JSON: %@", responseObject); 
} failure:^(AFHTTPRequestOperation *operation, NSError *error) { 
NSLog(@"Error: %@", error); 
}]; 

设置,你可以使用ant HTTP头字段,

[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Accept"]; 
[requestSerializer setValue:@"application/json" forHTTPHeaderField:@"Content-Type"]; 
0

请联系您的Web服务开发人员,他/她可能有一些问题

0

您的问题已经在这里找到答案:How to send POST and GET request?

尽管从您的评论来看,这个问题是不符合实际要求,但而不是服务器。如果您的请求代码错误,您将不会收到回复。你应该检查参数是否与服务器需要的相对应。

您还可以检查请求的状态代码如下所示:

[(NSHTTPURLResponse*)response statusCode]