2016-02-26 75 views
1

我使用AFNetworking將包含設備中聯繫人詳細信息的數組發佈到服務器。以下是我的代碼。無法使用AFNetworking將數組發佈到服務器

NSDictionary *parameters = @{@"UserContacts": contactsArray};//contactsArray is NSMutableArray 
AFHTTPSessionManager *manager = [[AFHTTPSessionManager alloc] init]; 
manager.requestSerializer = [AFJSONRequestSerializer serializer]; 
manager.responseSerializer = [AFHTTPResponseSerializer serializer]; 
manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"]; 

[manager POST:baseUrl parameters:parameters success:^(NSURLSessionDataTask *task, id responseObject) { 
    NSLog(@"RESPONSE : %@",responseObject); 

} failure:^(NSURLSessionDataTask *task, NSError *error) {  
    NSLog(@"Error: %@", error.localizedDescription); 

}]; 

我回來的響應是

RESPONSE: 「失敗」
通知:未定義指數:在ÇUserContacts:\ XAMPP \ htdocs中\創建者\ PHP \控制器\ contactsync上線

在PHP .PHP代碼在下面給出

public function insertios(){ 

    if(!isset($_REQUEST['UserContacts'])){ 

     echo json_encode('failed'); 
     $contact = $_REQUEST['UserContacts']; 
     echo $contact; 

    }else{ 

     echo json_encode('Success'); 

    } 
} 

請告訴我我哪裏出錯了。

回答

0

您應該使用php://input只讀流訪問後的數據,而不是$_REQUEST這樣

<?php 
    $postdata = file_get_contents('php://input'); 
?> 

這之後可以解碼後的數據根據​​內容類型。

您已使用NSDictionary用於綁定數據,在PHP服務器上將其視爲json字符串,因此您必須通過php輸入流包裝器讀取請求數據。

相關問題