AJAX - JQuery GET回调不起作用,但JSON文件访问正常

Ron*_*Ron 6 ajax jquery json get

我的代码看起来像这样:

$.get('http://files.mysite.com/data.json', function(data) {
    console.log(data);
}, "jsonp");
Run Code Online (Sandbox Code Playgroud)

当我Network从Firebug查看菜单内部时,我可以看到对我的JSON文件的有效调用,当我打开它时,它会获得所有信息.

但是Console保持沉默.没有AJAX电话的迹象,也没有我的记录data.

我的AJAX呼叫与我的JSON文件不在同一个域中.这就是我使用的原因jsonp

有任何想法吗??

Gar*_*yon 15

我不完全确定你的问题是什么,如果你得到一个结果但是控制台保持安静你可能会遇到 JSON本身的问题...尝试JSONLint来查找问题.

另外我建议你不要使用getJson等.

$.ajax({
    url: http://files.mysite.com/data.json,
    dataType: 'jsonp',
    cache: false,

    beforeSend: function () {
        console.log("Loading");
    },

    error: function (jqXHR, textStatus, errorThrown) {
        console.log(jqXHR);
        console.log(textStatus);
        console.log(errorThrown);
    },

    success: function (data) {
        console.log('Success');
        console.log(data);
    },

    complete: function () {
        console.log('Finished all tasks');
    }
});
Run Code Online (Sandbox Code Playgroud)

这样你就可以获得一些错误处理和其他漂亮的小功能,你可以通过beforeSend添加一个加载微调器,并通过完整删除它:)

编辑:用下面的错误函数替换错误函数,这应该让我们更好地了解问题是什么:)

error: function (jqXHR, textStatus, errorThrown) {
  console.log(jqXHR);
  console.log(textStatus);
  console.log(errorThrown);
}
Run Code Online (Sandbox Code Playgroud)