【发布时间】: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