是否可以在JavaScript中仅使用XMLHTTPRequest来执行HTTP头请求?
我的动机是节省带宽.
如果没有,是否有可能伪造它?
简单,只需使用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方法.生产代码可能需要针对不同的结果状态(成功,失败,超时)更细粒度的回调,并可能使用不同的事件处理程序(onload
,onerror
而ontimeout
不是onreadystatechange
).