【问题标题】:Failed to post an array to server using AFNetworking无法使用 AFNetworking 将阵列发布到服务器
【发布时间】:2016-02-26 05:03:15
【问题描述】:

我使用 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);

}];

我得到的回复是

响应:“失败”
通知:未定义索引:C:\xampp\htdocs\creator\php\controller\contactsync.php 中的 UserContacts 在线101

php代码如下

public function insertios(){

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

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

    }else{

        echo json_encode('Success');

    }
}

请告诉我哪里出错了。

【问题讨论】:

    标签: php ios objective-c json afnetworking


    【解决方案1】:

    您应该使用 php://input 只读流来访问帖子数据,而不是像这样的 $_REQUEST

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

    之后,您可以根据内容类型解码您的帖子数据。

    您已经使用 NSDictionary 来绑定在 PHP 服务器上被视为 json 字符串的数据,因此您必须通过 php 输入流包装器读取请求数据。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-10
      • 2018-09-20
      • 1970-01-01
      • 1970-01-01
      • 2011-06-30
      相关资源
      最近更新 更多