Javascript/Ajax 中的 HTTP HEAD 请求? [英] HTTP HEAD Request in Javascript/Ajax?

查看:34
本文介绍了Javascript/Ajax 中的 HTTP HEAD 请求?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否可以仅使用 JavaScript 中的 XMLHTTPRequest 来执行 HTTP Head 请求?

Is it possible to do a HTTP Head request solely using an XMLHTTPRequest in JavaScript?

我的动机是节省带宽.

如果没有,是否可以伪造?

If not, is it possible to fake it?

推荐答案

简单,只需使用 HEAD 方法,而不是 GET 或 POST:

Easy, just use the HEAD method, instead of GET or 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 方法的一个简短示例.对于不同的结果状态(成功、失败、超时),生产代码可能需要更细粒度的回调,并且可能使用不同的 事件处理程序(onloadonerrorontimeout 而不是 onreadystatechange).

This is just a short example to show how to use the HEAD method. Production code may need more fine-grained callbacks for different result states (success, failure, timeout), and may use different event handlers (onload, onerror and ontimeout rather than onreadystatechange).

这篇关于Javascript/Ajax 中的 HTTP HEAD 请求?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆