php中ajax不返回json返回字符串直接进入error
ajax返回数据类型与预期不符合会直接进入error,有时发现返回明明是json字符串还是今入error,其实是返回的所谓json字符串有其他隐藏的符号里面。
1、ajax提交的前注明返回数据类型?dataType : “jsonp” 注意大小写!
2、被请求php页面只能有一个输出,不要有其他的HTML代码,比如空格什么的,如:
<?php
$data=array("code"=>1,"msg"=>"ok");
echo json_encode($data);
exit;
3、确保被请求的php页面引用或包含的其他php文件格式一定要是utf-8无bom格式!注意include、require的文件甚至所有的php文件都不要用记事本打开!不要图方便直接使用记事本编辑php内的配置或参数值!
4、注意版本低于php5.3?的php环境可能不支持json?
5、如果是使用字符串自行拼接json的话,需要使用严格的json格式,不管是什么类型全部用双引号!{‘name’: ‘Michael’}? <===这是错误的写法!? 正确写法==>{“name”: “Michael”}? ,你拼接后的写法是否正确可以在线json校验一下:http://www.bejson.com/? ?,在php中可能在输出你拼接的json字符串前还需要这段代码?header(‘Content-Type:application/json; charset=utf-8’);
基于互联网精神,在注明出处的前提下本站文章可自由转载!
本文链接:https://ranjuan.cn/php中ajax不返回json返回字符串直接进入error/