是否可以在JavaScript中单独使用XMLHTTPRequest来执行HTTP头请求?
我的动机是节省带宽。
如果没有,是否可以伪造它?
答案 0 :(得分:93)
简单,只需使用HEAD方法,而不是GET或POST:
function UrlExists(url, callback)
{
var http = new XMLHttpRequest();
http.open('HEAD', url);
http.onreadystatechange = function() {
if (this.readyState == this.DONE) {
callback(this.status != 404);
}
};
http.send();
}
这只是一个简短的例子,展示了如何使用HEAD方法。生产代码可能需要针对不同结果状态(成功,失败,超时)进行更细粒度的回调,并且可能使用不同的event handlers(onload
,onerror
和ontimeout
而非onreadystatechange
)。
答案 1 :(得分:-1)
XMLHTTPRequest对象应该有
getAllResponseHeaders();
getResponseHeader("header-name")
在其上定义