2015-09-17 77 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]