如何使用 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
您必须使用 XMLHTTPRequest 来获取 HTTP 状态代码。这可以通过向服务器发出 HEAD 请求以获取所需的 url 来完成。创建一个 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
我假设带有 JQuery 的 JavaScript 可以大大简化 AJAX 请求,就像这样。
$.ajax({
url: 'url',
type: 'GET',
complete: function(transport) {
doing whatever..
}
});
于 2010-07-21T11:39:25.673 回答