如何通过手机sdk中的afnetworking从服务器获取数据

时间:2015-01-29 07:36:51

标签: objective-c iphone web-services afnetworking

我正在创建iOS应用程序并尝试通过afnetworking代码从服务器获取数据

NSURLSessionConfiguration *configuration = [NSURLSessionConfiguration defaultSessionConfiguration];
AFURLSessionManager *manager = [[AFURLSessionManager alloc] initWithSessionConfiguration:configuration];

NSURL *URL = [NSURL URLWithString:@"http://XXXXXX/DisplayDetail.php"];
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:URL];
NSURLSessionDataTask *dataTask = [manager dataTaskWithRequest:request completionHandler:^(NSURLResponse *response, id responseObject, NSError *error) {
    if (error) {
        NSLog(@"Error: %@", error);
    } else {
        NSLog(@"%@ %@", response, responseObject);
    }
}];
[dataTask resume];

但我收到了以下错误

Error Domain=com.alamofire.error.serialization.response Code=-1016 "Request failed: unacceptable content-type: text/html" UserInfo=0x7f9f3943aee0 {com.alamofire.serialization.response.error.response=<NSHTTPURLResponse: 0x7f9f3954e0b0> { URL: http://run2tour.com/bud_api/DisplayDetail.php } { status code: 200, headers {
Connection = "Keep-Alive";
"Content-Type" = "text/html";
Date = "Thu, 29 Jan 2015 07:30:36 GMT";
"Keep-Alive" = "timeout=5";
Server = "Apache/2.4.10 (Unix) OpenSSL/1.0.1e-fips mod_bwlimited/1.4 mod_fcgid/2.3.10-dev";
"Transfer-Encoding" = Identity;
"X-Powered-By" = "PHP/5.4.34";} 
},
NSErrorFailingURLKey=http://run2tour.com/bud_api/DisplayDetail.php, com.alamofire.serialization.response.error.data=<5b7b2275 7365725f 6964223a 22313039 222c2275 7365725f 656d6169 6c223a22 616e7572 61674067 

............

所以请帮我解决一下。

3 个答案:

答案 0 :(得分:0)

快速修复 - AFJSONResponseSerializer AFNetworking acceptableContentTypes类字段已定义。您必须在那里添加text/html类型。

它是一个JSON响应,因此它应该是text / json。

答案 1 :(得分:0)

从错误消息中,服务器返回的内容类型不正确。服务器确实返回JSON,但标题表示其HTML。

真的应该修复服务器标题。

一个糟糕的解决方案是教AFN在响应序列化类中将HTML MIME类型响应视为JSON。

答案 2 :(得分:0)

正如@Wain所说,最好的方法是改变后端的标题

例如你http://XXXXXX/DisplayDetail.php&#34;文件你应该添加

header('Content-type: application/json');

PHP参考 http://www.w3schools.com/php/func_http_header.asp http://php.net/manual/en/function.header.php