显示更多错误详情

时间:2013-12-25 15:11:06

标签: javascript jquery html json jsonp

我正在尝试使用外部提供程序api的json数据。当我在浏览器中输入他们的json url时,它会显示我需要查看的所有json数据。但是,当我尝试使用jquery访问它时,即使google chrome在开发工具部分显示正确的json数据,我也会收到错误:

enter image description here

因此,我认为这意味着数据实际上已被检索?无论如何,这是我正在使用的脚本:

$.ajax({
    url: "https://some_url_here_from_different_domain.json",
    type: 'GET',
    dataType: 'jsonp',
    jsonp: 'callback',
    error: function(xhr, status, error) {
        alert(error); //<- returns Error: jQuery11020135121880332008_1387982597648 was not called
        alert(xhr.responseText); //<- returns undefined
    },
    success: function(data) { 
        alert("success");
    }
});

如何获取更多错误详细信息,以便了解导致错误出现的原因?

2 个答案:

答案 0 :(得分:1)

您的JSONP代码很好并且应该正常工作,但您在示例中调用的端点是返回JSON而不是JSONP,无论您的代码如何。

端点:https://localbitcoins.com/sell-bitcoins-online/national-bank-transfer/.json?callback=jQuery110202691209970507771_1387997968891&_=1387997968892

差异:What are the differences between JSON and JSONP?

可能的解决方案:

  1. 联系localbitcoins并要求他们为该网址启用JSONP
  2. 设置代理服务器以提取数据并自行返回JSONP - 良好的起点可能是:https://npmjs.org/package/json-proxy

答案 1 :(得分:0)

到目前为止,我的理解是,您希望使用ajax调用来获取json数据。

根据此链接 - Can't get json data from jQuery ajax call

使用dataType:'json'而不是'jsonp'

var jsonData;

$.ajax({
        url: "https://some_url_here_from_different_domain.json",
        dataType: 'json',
        success: function(response) {
            jsonData = response;
        }
});