我正在使用AFnetworking库在服务器上发布数据.
以下是我在服务器上发布数据的代码.
- (void) callLoginAPI:(NSDictionary *)dictProfile{
// 1
NSDictionary *params = [NSDictionary dictionaryWithObjectsAndKeys:[dictProfile valueForKey:@"name"],@"username",[dictProfile valueForKey:@"first_name"],@"first_name",[dictProfile valueForKey:@"last_name"],@"last_name",[dictProfile valueForKey:@"email"],@"email",[dictProfile valueForKey:@"birthday"],@"dob",[dictProfile valueForKey:@"gender"],@"gender",[[dictProfile valueForKey:@"location"] valueForKey:@"name"],@"location",[dictProfile valueForKey:@"timezone"],@"timezone",@"",@"language",[Nsstring stringWithFormat:@"http://graph.facebook.com/%@/picture?type=large",[dictProfile valueForKey:@"id"]],@"profile_pic_url",@"cover_pic_url",nil];
AFHTTPRequestOperationManager *manager = [AFHTTPRequestOperationManager manager];
manager.requestSerializer = [AFJSONRequestSerializer serializer];
[manager POST:@"http://10.1.81.35:8000/api/login/" parameters:params success:^(AFHTTPRequestOperation *operation,id responSEObject) {
NSLog(@"JSON: %@",responSEObject);
} failure:^(AFHTTPRequestOperation *operation,NSError *error) {
NSLog(@"Error: %@",error);
}];
}
并作为回应我得到以下错误
Error Domain=com.alamofire.error.serialization.response Code=-1011 "Request Failed: bad request (400)" UserInfo=0x7c87b6f0 {com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x7cc220e0> { URL: http://10.1.81.35:8000/api/login/ } { status code: 400,headers {
Allow = "POST,OPTIONS";
"Content-Type" = "application/json";
Date = "Tue,07 Oct 2014 10:45:08 GMT";
Server = "WsgiServer/0.1 Python/2.7.6";
vary = "Accept,Cookie";
"x-frame-options" = SAMEORIGIN;
} },NSErrorFailingURLKey=http://10.1.81.35:8000/api/login/,NSLocalizedDescription=Request Failed: bad request (400),com.alamofire.serialization.response.error.data=<7b226465 7461696c 223a2022 4a534f4e 20706172 73652065 72726f72 202d204e 6f204a53 4f4e206f 626a6563 7420636f 756c6420 62652064 65636f64 6564227d>}
我无法理解为什么会出现这种错误.我的代码中缺少什么?
解决方法
错误说明了一切:你从服务器得到一个
400 response,这意味着你发送的内容要么格式不正确,要么服务器无法理解它.