【发布时间】:2013-03-27 22:14:28
【问题描述】:
我有一个返回 JSON 数据的 php API,当我尝试从我的应用程序接收 JSON 时,出现以下错误:
"Expected content type {(\n \"text/json\",\n \"application/json\",\n \"text/javascript\"\n)}, got text/html";
你可能会回答说 php API 没有返回有效的 JSON,嗯,我在 Json Lint 上检查过,它是一个有效的 JSON,而且标头设置为 JSON
header( 'Content-Type: text/json' );
echo '{"Response":'.json_encode($arr).'}';
我还检查了 MAMP mime.types 文件,它正确包含 JSON mime 类型。
我唯一怀疑的是,当我通过浏览器调用 API 时,我得到了预期的 JSON,但是当显示页面的源代码时,它在开头显示为 2 个空行。如下所示。
1-
2-
3- {"Response":[{"Product ID":"12037","Product Title":"RIng 14K Cloud 9","Product Description":"RIng 14K Cloud 9","Product Wholsale Price":"$255","Product Sale Price":"$460","Category Id":"55","Category Name":"Rings","Product Image":"http:\/\/192.163.1.87:8888\/xxxxxx\/wp-content\/uploads\/2012\/12\/150101.jpg","Product Sub Images":["http:\/\/192.163.1.87:8888\/xxxxx\/wp-content\/uploads\/2012\/12\/150101.jpg"],"SKU":"150101-50","Quantity":"1","Size":"50","Color":"Y","Manufacturer":"xxxxxx"},{"Product ID":"12039","Product Title":"Ring 14K Cloud 9","Product Description":"Ring 14K Cloud 9","Product Wholsale Price":"$255","Product Sale Price":"$460","Category Id":"55","Category Name":"Rings","Product Image":"http:\/\/192.163.1.87:8888\/xxxxx\/wp-content\/uploads\/2012\/12\/150101.jpg","Product Sub Images":["http:\/\/192.163.1.87:8888\/xxxxx\/wp-content\/uploads\/2012\/12\/150101.jpg"],"SKU":"150101-52","Quantity":"1","Size":"52","Color":"Y","Manufacturer":"xxxxxx"}]}
这是否与 php 代码或 MAMP 服务器中的任何内容有关?提前谢谢。
【问题讨论】:
-
出现错误时,您是如何尝试使用 json 数据的?
-
将内容类型改为“application/json”
-
json 的正确标头是
header('Content-type: application/json')。试试看。 -
在设置标题并删除它们之前寻找会输出空格的地方。
-
检查您的 PHP 文件是否使用正确的行尾,以及您的
<?php开始标签之前是否没有(隐藏)字符
标签: php ios json mamp afnetworking