下面小编就为大家带来一篇一次$.getJSON不执行的简单记录。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。
别人的代码,拿过来调,发现修改功能都不能用,修改时通过ajax发json获取数据的,看chrome开发者工具发现有发送数据,也有返回值;
发起请求并获取数据,发现回调函数不执行!
$.getJSON(site_url+'?m=test&a=getOne',{id:id},function(d){
if(d.status){
vardata=d.data;
$('input[name="id"]').val(data.id);
$('input[name="name"]').val(data.name);
}else{
Message.fairue(d.info);
setTimeout(function(){
// todo
},2000);
}
});
php返回数据代码:
if($findOne){
$this->ajaxReturn($findOne,'success',true);
}else{
$this->ajaxReturn($findOne,'faild',false);
}
返回的数据在浏览器里看上去也很正常:
{"data":{"id":"1","name":"admin",},"info":"success","status":true}
调了半天。。。
有人说是json格式的问题,有人说是参数的问题,本人js也不熟,排查后一一排除。。。
将浏览器返回json数据粘贴到vim时发现:
<feff>{"data":{"id":"1","name":"admin",},"info":"success","status":true}
<feff> ??? bomb。。。
附:vi bomb操作:
#添加BOM
:set bomb
#删除BOM
:set nobomb
#查询BOM
:set bomb?
查找当前目录下所有含有bomb的文件:
grep -I -r -l $'\xEF\xBB\xBF' ./
最后发现是 /Conf/config.php 有bomb,修改之。。。
项目框架:ThinkPHP
以上这篇一次$.getJSON不执行的简单记录就是小编分享给大家的全部内容了,希望能给大家一个参考