David Flanagan在《JavaScript: The Definitive Guide》一书中说:在发送AJAX请求之前,必须先发送请求头。
在支持跨浏览器的范围内,我需要这样做吗?
request.setRequestHeader("User-Agent", "XMLHttpRequest");
request.setRequestHeader("Accept-Language", "en");
request.setRequestHeader("If-Modified-Since", lastRequestTime.toString()); 发布于 2011-07-09 07:46:35
对于最后两个头文件,为了浏览器兼容性,它们根本不是必需的。这些标头用作首选项指示(Accept-Language)和内容优化(If-Modified- used )。
request.setRequestHeader("Accept-Language", "en");
request.setRequestHeader("If-Modified-Since", lastRequestTime.toString()); 第一个头用在服务器端,用来检测查询是从AJAX完成的,还是只是导航完成的。默认情况下,较旧的浏览器可能不会设置此标头,因此,如果您的服务器依赖此标头来设置,则可能会失去浏览器兼容性。如果您的服务器不依赖于此标头的设置,那么如果不设置它,您将不会失去任何浏览器兼容性。
request.setRequestHeader("X-Requested-With", "XMLHttpRequest");请注意,第一个标头应该是X-Requested-With而不是User-Agent。
发布于 2011-07-09 07:32:08
请访问jQuery以获取指导:
http://code.jquery.com/jquery-latest.js
具体搜索"X-Requested-With“。不需要设置"User-Agent“。不过,您可能希望将"X-Requested-With“设置为"XMLHttpRequest”。
似乎有很多人试图重新实现jQuery,而没有查看jQuery、DoJo、MooTools或任何其他JS框架的源代码。利用线人,卢克。或者只是使用框架并构建一个有用的应用程序,而不是将解决的问题作为学术练习来重新解决。
查看来自dailyjs的这一系列博客文章,他们从头开始构建一个框架:
http://dailyjs.com/tags.html#lmaf
https://stackoverflow.com/questions/6631571
复制相似问题