我已经向同一个网址提出了三个请求,这些请求应该返回相同的响应 - 但是猜猜是什么,他们没有。
首先,工作的是jQuery:
$.ajax({
dataType: "json",
url: "https://www.speedrun.com/api/v1/games?name=mkdd&callback=?",
type: "GET",
success: function(data){
console.log("Succes with AJAX - ?", data);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
第二个也是jQuery,但我改变了回调=?回调= foo。我真的无法弄清楚为什么这不起作用。
$.ajax({
dataType: "json",
url: "https://www.speedrun.com/api/v1/games?name=mkdd&callback=foo",
type: "GET",
success: function(data){
console.log("Succes with AJAX - foo", data);
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
第三个是普通的JavaScript - 我计划使用它。它不适用于我正在使用的任何回调。
var request = new XMLHttpRequest();
request.open('GET', "https://www.speedrun.com/api/v1/games?name=mkdd&callback=?", true);
request.onload = function() {
if (this.status >= 200 && this.status < 400) {
var resp = this.response;
console.log("Succes with JS", resp);
}
};
request.setRequestHeader('Content-Type', 'application/json');
request.send();
有人可以帮我解决这个问题吗?我在XMLHttpRequest中遗漏了什么吗?为什么回调=? vs callback = foo如此重要?