2016-02-26 67 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输入流包装器读取请求数据。

相关问题