Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/399.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AJAX:无效的JSON响应_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript AJAX:无效的JSON响应

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

我使用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

它根本没有进入成功功能


请任何人为我提供解决方案。提前谢谢。

我找到了解决问题的办法

您的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);
    },
});