Javascript AJAX:无效的JSON响应
我使用ajax读取json数据,使用 http:xxx.myserver.com/myfolder/example.json 为此,我得到如下输出 错误:{“readyState”:0,“responseText”:“status”:0,“statusText”:“Error”}:::错误: 我在谷歌上搜索了一个解决方案,有人说如果我替换了json,就可以将json替换为jsonp 数据类型:json到数据类型:jsonp 我得到了像这样的输出 错误{“readyState”:4,“status”:200,“statusText”:“success”}:::parsererror::错误:未调用JQuery1010785222084020840286463_1387290139272 它根本没有进入成功功能Javascript AJAX:无效的JSON响应,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,我使用ajax读取json数据,使用 http:xxx.myserver.com/myfolder/example.json 为此,我得到如下输出 错误:{“readyState”:0,“responseText”:“status”:0,“statusText”:“Error”}:::错误: 我在谷歌上搜索了一个解决方案,有人说如果我替换了json,就可以将json替换为jsonp 数据类型:json到数据类型:jsonp 我得到了像这样的输出 错误{“readyState”:4,“status
请任何人为我提供解决方案。提前谢谢。我找到了解决问题的办法 您的json应该是这种格式的例如:
jsonCallback({“sites”:[{“siteName”:“JQUERY4U”,“domainName”:”http://www.jquery4u.com},{“siteName”:“BLOGOOLA”,“域名”:http://www.blogoola.com},{“siteName”:“PHPSCRIPTS4U”,“域名”:http://www.phpscripts4u.com"}]});代码>
我将回复更改为jsonCallBack
$.ajax({
url:"http:xxx.myserver.com/myfolder/example.json?callback=?",
dataType:"jsonp",
async: false,
jsonpCallback: 'jsonCallback',
contentType:"application/json",
success:function(data, status) {
alert("success"+JSON.stringify(data));
},
error:function(request, status, error) {
alert("Error:"+JSON.stringify(request)+":::"+status+"::"+error);
},
});
我进入success函数并获得json响应。谢谢你的帮助。这是因为跨域问题。使用浏览器开发人员控制台直接检查服务器响应。请使用描述性问题标题。只有在web服务支持JSONP的情况下才能使用JSONP,并且只有在脚本托管在ajax url以外的域时才需要JSONP。(如果它们不同,请参见)您如何称呼它?链接/按钮点击?使用jsonp
将通过CORS进行,但是您必须在服务器中定义标题。
$.ajax({
url:"http:xxx.myserver.com/myfolder/example.json?callback=?",
dataType:"jsonp",
async: false,
jsonpCallback: 'jsonCallback',
contentType:"application/json",
success:function(data, status) {
alert("success"+JSON.stringify(data));
},
error:function(request, status, error) {
alert("Error:"+JSON.stringify(request)+":::"+status+"::"+error);
},
});