我正在嘗試編寫一個簡單的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?那會是某種錯誤嗎?此外,狀態始終爲空。任何想法爲什麼? –