jQuery を使用せずに Vimeo からビデオのリストを取得するための単純な AJAX メソッドを作成しようとしています。これはクロスドメイン リクエストであるため、JSONP 形式を使用する必要があることに気付きました。ただし、返される結果は常に 200 OK であり、常に空です。これが私の方法です:
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 リクエストをテストする方法を知らないからです。