AJAX:无效的JSON响应

AJAX: Invalid JSON response

本文关键字:JSON 响应 无效 AJAX      更新时间:2023-09-26

我使用ajax使用读取json数据

http:xxx.myserver.com/myfolder/example.json

$.ajax({
    url:"http:xxx.myserver.com/myfolder/example.json",
    dataType:"json",
    success:function(data, status) {
        alert("success"+data+":::"+status);
    },
    error:function(request, status, error) {
        alert("Error:"+JSON.stringify(request)+":::"+status+"::"+error);
    },
});

为此,我得到的输出如下

错误:{"readyState":0,"responseText":","status":0、"statusText":"Error"}::Error::

我在谷歌上搜索了一个解决方案,有人说如果我替换,就把json替换成jsonp

dataType:json到dataType:jsonp

我得到了类似的输出

错误{"readyState":4,"status":200,"statusText":"success"}::parserror:错误:jQuery11010785222084028663_1387290139272未调用

它根本没有进入成功功能。

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

我得到了问题的解决方案。

您的json应该是这种格式例如:jsonCallback({"sites":[{"siteName": "JQUERY4U","domainName": "http://www.jquery4u.com"},{"siteName": "BLOGOOLA","domainName": "http://www.blogoola.com"},{"siteName": "PHPSCRIPTS4U","domainName": "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);
    },
});

我进入了成功函数并得到了json响应。谢谢你的帮助。这是因为跨域问题。