【问题标题】:AJAX call not failing or succeedingAJAX 调用没有失败或成功
【发布时间】:2015-08-27 21:09:24
【问题描述】:

我试图从这个 AJAX 调用中获取数据,错误函数被调用,但我不知道为什么?调试我显示GET 工作正常。

这里有什么我遗漏的吗?

API 密钥可以重新生成,对我来说没有安全风险。

$.ajax(
{
    type: "GET",
    dataType: "jsonp",
    url: "https://api.challonge.com/v1/tournaments/christchurch_ranbats_1_melee/participants.json?api_key=UgPJ6Le4jATPLCvRpm0YirZDCX6JvMp13I6MmEVW",
    success: function (data) {
        console.log(data);
        alert("It works");
    },
    error: function () {
        alert("Sorry, could not fetch the data.");
    }
});

【问题讨论】:

  • 响应不是JSON-P——它不包含格式所需的“padding”。要尝试dataType: "json",服务必须以适当的CORS headers 进行响应。这两个选项都需要 API/服务来提供支持。如果不是,则该请求可能无法在应用 same origin policy 的客户端。
  • 注意:error 处理程序的第三个参数将是errorThrown。您可以检查它以开始调试。您还可以在浏览器的开发者工具中查看“控制台”。 Ajax 相关的错误通常会记录在那里。
  • 感谢 cmets Jonathan,正是如此。同源政策确实适用

标签: jquery ajax json rest jsonp


【解决方案1】:

您使用的是什么版本的 jQuery?更高版本的 jQuery 使用 error 而不是 failure

我运行了你的代码,它说客户端阻止了请求。

【讨论】:

  • 就这么简单,但它出错的原因是新问题。谢谢!
  • 可能会出错,因为需要在同一个协议上调用AJAX,所以在HTTPS上试试吧。
  • 可能是他调用的API不支持JSONP,返回的是普通的JSON。
  • 我找到了为什么会发生这个错误,这个答案帮助我找到了它,所以它得到了勾选 stackoverflow.com/questions/29724894/…
猜你喜欢
  • 1970-01-01
  • 2023-03-07
  • 1970-01-01
  • 2021-01-18
  • 1970-01-01
  • 2011-09-30
  • 1970-01-01
  • 2015-07-12
  • 2020-05-20
相关资源
最近更新 更多