JavaScriptで別のサイトのHTTPステータスコードを取得するにはどうすればよいですか?
32348 次
4 に答える
7
次のJavaScriptコードを試してください。
function getReq() {
var req = false;
if(window.XMLHttpRequest) {
try {
req = new XMLHttpRequest();
} catch(e) {
req = false;
}
} else if(window.ActiveXObject) {
try {
req = new ActiveXObject("Microsoft.XMLHTTP");
} catch(e) {
req = false;
}
}
if (! req) {
alert("Your browser does not support XMLHttpRequest.");
}
return req;
}
var req = getReq();
try {
req.open("GET", 'http://www.example.com', false);
req.send("");
} catch (e) {
success = false;
error_msg = "Error: " + e;
}
alert(req.status);
于 2010-07-21T11:45:30.557 に答える
6
HTTPステータスコードを取得するには、XMLHTTPRequestを使用する必要があります。これは、必要なURLについてサーバーにHEADリクエストを行うことで実行できます。XMLHTTPRequestオブジェクト-xhrを作成し、次の手順を実行します
xhr.open("HEAD", <url>,true);
xhr.onreadystatechange=function() {
alert("HTTP Status Code:"+xhr.status)
}
xhr.send(null);
詳細については、こちらをご覧ください。
于 2010-07-21T13:12:02.297 に答える
2
同一生成元ポリシーのため、AJAXでこれを直接行うことはできません。
サーバーにプロキシサービスを設定してから、確認するアドレスを使用してプロキシサービスにajax呼び出しを行う必要があります。サーバープロキシから、cURLまたは任意のツールを使用して、ステータスコードを確認し、クライアントに返すことができます。
于 2010-07-21T13:28:58.847 に答える
0
このように、AJAXリクエストを大幅に簡素化するJQueryを使用したJavaScriptを想定しています。
$.ajax({
url: 'url',
type: 'GET',
complete: function(transport) {
doing whatever..
}
});
于 2010-07-21T11:39:25.673 に答える