XMLHttpRequest与jQuery AJAX的不同响应

时间:2017-01-14 15:16:36

标签: javascript jquery ajax xmlhttprequest

我已经向同一个网址提出了三个请求,这些请求应该返回相同的响应 - 但是猜猜是什么,他们没有。

首先,工作的是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如此重要?

小提琴:https://jsfiddle.net/bobtrol/2okpebvn/2/

0 个答案:

没有答案