AJAX:无效的JSON响应

时间:2013-12-17 14:26:03

标签: javascript jquery ajax json

我使用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的”: “”, “状态”:0 “状态文本”: “错误”} :::错误::

我用google搜索解决方案,如果我替换

,有些人会说将json替换为jsonp
  

dataType:json to dataType:jsonp

我的输出就像

  

错误{“readyState”:4,“status”:200,“statusText”:“success”} ::: parsererror ::错误:jQuery110107852220840286463_1387290139272未被调用

根本没有进入成功功能。

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

1 个答案:

答案 0 :(得分:1)

我解决了我的问题。

您的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响应。谢谢你的帮助。这是因为跨域问题。