当前位置:  开发笔记 > 编程语言 > 正文

Javascript/Ajax中的HTTP HEAD请求?

如何解决《Javascript/Ajax中的HTTPHEAD请求?》经验,为你挑选了1个好方法。

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

我的动机是节省带宽.

如果没有,是否有可能伪造它?



1> doekman..:

简单,只需使用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,onerrorontimeout不是onreadystatechange).


我赞赏这个答案是jQuery免费的事实.即使是关于SO的最简单的JS问题也几乎总是用jQ解决方案来回答.
@doekman:同步请求将阻止所有与JS相关的任务(Douglas Crockford曾写道"[同步编程](http://yuiblog.com/blog/2006/04/04/synchronous-v-asynchronous/)是不尊重的,不应该用于人们使用的应用程序.").想想所有在不知不觉中不知不觉地复制了这个例子的人.因此,答案多年来一直很糟糕.此更新都显示了如何使用异步请求,并明确表示不应逐字复制该示例.
谢谢,有时框架的抽象隐藏了底层功能!
知道跨浏览器这是怎么回事?jQuery文档指出"注意:其他HTTP请求方法,例如PUT和DELETE,也可以在这里使用,但并不是所有浏览器都支持它们." http://api.jquery.com/jQuery.ajax/
可能这只是一个HEAD请求,可以跨域访问吗?
推荐阅读
php
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有