AFNetworking 2.x JSON POST 数据在服务器上为空
Posted
技术标签:
【中文标题】AFNetworking 2.x JSON POST 数据在服务器上为空【英文标题】:AFNetworking 2.x JSON POST Data Empty on Server 【发布时间】:2015-04-01 20:00:00 【问题描述】:我使用的是 AFNetworking 1.x,我正在尝试切换到 2.x。但是,以前工作正常的东西现在坏了。我对 AFHTTPRequestOperationManager 进行了子类化,这是我在该子类中的一个方法中的代码:
AFHTTPRequestOperation *operation = [self POST:@"api.php" parameters:self.requestPOST success:^(AFHTTPRequestOperation *operation, id responseObject)
//success code here
failure:^(AFHTTPRequestOperation *operation, NSError *error)
//failure code here
];
在我的子类的 init 方法中,我设置了 baseURL 和以下内容:
self.requestSerializer = [AFJSONRequestSerializer serializer];
self.responseSerializer = [AFJSONResponseSerializer serializer];
当它运行时,它确实成功到达服务器,并且服务器发送响应。但是,服务器显示 $_POST、$HTTP_RAW_POST_DATA 和 php://input 都是空的。我在发送之前检查了 NSURLRequest 正文数据,并正确填充了 JSON 数据。
知道为什么 POST 数据在到达服务器时显示为空吗?
【问题讨论】:
【参考方案1】:我不知道,但我可以为您提供我使用的代码
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager 管理器];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
// manager.responseSerializer.acceptableContentTypes = [NSSet setWithObject:@"text/html"];
[manager POST:urlStr parameters:parameters success:^(AFHTTPRequestOperation *operation, id responseObject)
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
success(dict);
failure:^(AFHTTPRequestOperation *operation, NSError *error)
failure(error);
];
试试这个代码。如果问题没有解决,请告诉我..!
【讨论】:
以上是关于AFNetworking 2.x JSON POST 数据在服务器上为空的主要内容,如果未能解决你的问题,请参考以下文章
AFNetworking 2.x 带有 xml 正文的 POST 请求
Objective C - 使用 AFNetworking 2.x 库将参数传递给 webservice (cakephp)