我正在尝试编写一个简单的AJAX方法,以便从Vimeo获取不使用jQuery的视频列表。我意识到我必须使用JSONP格式,因为它是一个跨域请求。但是,返回的结果始终为200,并且始终为空。这里是我的方法:使用AJAX无需jQuery从Vimeo频道获取视频
var httpRequest = new XMLHttpRequest();
httpRequest.open("GET", "http://vimeo.com/api/v2/channel/staffpicks/videos.json?callback=?", true);
httpRequest.send();
httpRequest.onreadystatechange = function() {
if (httpRequest.readyState == 0) {
console.log("0");
}
if (httpRequest.readyState == 1) {
console.log("1");
}
if (httpRequest.readyState == 2) {
console.log("2");
}
if (httpRequest.readyState == 3) {
console.log("3");
}
if (httpRequest.readyState == 4 && httpRequest.status == 200) {
console.log("4");
}
if (httpRequest.readyState == 4 && httpRequest.status == 404) {
console.log("5");
}
};
控制台日志2,但不为0,1,3,4或5。它总是只是2
顺便说一句,这并不一定是一个Vimeo请求。我使用Vimeo URL的唯一原因是因为我不知道如何测试AJAX请求,而不是击中实际站点。
这解释了为什么控制台不会记录0或1,因为我在查看准备就绪状态是否已更改之前调用了打开和发送方法。控制台何时登录3?那会是某种错误吗?此外,状态始终为空。任何想法为什么? –