2012-03-20 72 views
1

我刚开始使用AFNetworking,但我似乎无法弄清楚如何让以下工作。AFNetworking - iOS获取JSON时,PHP打印它

我的URL指向一个PHP文件,它打印出的数据是从JSON数据库中检索的,但是使用AFNetworking时,出现“预期内容类型”错误。

我的代码如下,但具有不同的URL。

NSURL *url = [NSURL URLWithString:@"http://www.example.com/json.php"]; 
NSURLRequest *request = [NSURLRequest requestWithURL:url]; 

AFJSONRequestOperation *operation = [AFJSONRequestOperation 
JSONRequestOperationWithRequest:request 
         success:^(NSURLRequest *request, NSHTTPURLResponse *response, id json) { 
          NSLog(@"JSON: %@", [json valueForKeyPath:@"results"]); 
         } failure:nil]; 

[operation start]; 
+0

您的Web服务器可能是在响应发送了错误的MIME类型(即“text/plain的”,而不是“应用/ JSON”)。什么是您收到的“预期的内容类型”错误的全文? – jonkroll 2012-03-20 17:31:22

+0

尝试使用任何REST客户端向您的URL发送Get请求(如果您没有任何其他首选项,请使用Firefox附加组件),并查看返回的Content-Type标头值。 – 2012-03-20 17:32:24

+0

它是text/html。我将如何去改变这个PHP页面,但仍然运行PHP代码 – 2012-03-20 17:49:44

回答

5

我想通了! :d

<?php header("Content-type: text/json"); ?> 

在页面顶部将这个印在屏幕上的任何东西之前和AFNetworking将其识别为JSON

2

@Ashley感谢分享此。我有同样的问题,这解决了它。然而,应当

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

,而不是为你的国家