错误回调{{readyState“:4,”status“:200,”statusText“:”success“}
我有这个url
。 url按预期返回一个json对象(直接浏览器调用)但是当我通过带有跟随行的ajax执行此操作时
$.ajax({ url: url, type: "GET", dataType:"jsonp", success: function(data) { alert(data); }, error : function(error) { alert("no good "+JSON.stringify(error)); } });
它回报了我
no good {"readyState":4,"status":200,"statusText":"success"}
我知道stackoverflow上有其他类似的问题,但似乎没有人解决它。
这表明HTTP请求成功,但解析数据的尝试却没有。
即数据未格式化为JSONP。
这些变化解决了我的问题。
//服务器端
echo $_GET['callback'] . '('.json_encode($data_to_encode).')';
// JS
$.ajax({ url: url+"?callback=?", type: "GET", dataType:"jsonp", success: function(data) { alert(data); }, error : function(error) { alert("no good "+JSON.stringify(error)); } });
我刚刚遇到了完全相同的问题,{“readyState”:4,“status”:200,“statusText”:“success”}
这是因为我忘了在我的php脚本中删除一个echo“hello”; 我以前为了测试原因而制作的语句,所以我的php脚本和JSON一起发送了一个字符串,这是我的愚蠢错误也许你也有同样的错误