猿问

使用JavaScript添加自定义HTTP标头

在HTML页面上,单击图像(“ img”)或锚点(“ a”)标记的链接时,我想为GET请求添加自定义标头。这些链接通常用于下载动态内容。这些标头可以是SAML标头,也可以是自定义应用程序专用标头。

是否可以通过JavaScript添加这些自定义标头?或者,如果我通过XMLHttpRequest添加它们,如何实现下载功能?

此要求仅适用于IE6或7。


慕莱坞森
浏览 978回答 3
3回答

当年话下

如果您使用XHR,那么setRequestHeader应该可以工作,例如xhr.setRequestHeader('custom-header', 'value');PS:您应该使用Hijax来修改锚点的行为,以便在出于某些原因AJAX无法为您的客户使用(例如页面上其他位置的无效脚本)时起作用。

千巷猫影

从浏览器内部向请求添加标头的唯一方法是使用XmlHttpRequest setRequestHeader方法。将其与“ GET”请求一起使用将下载资源。然后,诀窍就是以预期的方式访问资源。表面上,您应该应该允许GET响应在短时间内可缓存,因此导航到新URL或使用src url创建IMG标签应使用先前“ GET”的缓存响应。但是,这很有可能会失败,尤其是在IE中,这在涉及高速缓存的地方可能是个法律定律。最终,我同意Mehrdad的观点,使用查询字符串是最简单,最可靠的方法。另一个古怪的选择是使用XHR向URL发出请求,以表明您打算访问资源。它可以使用会话cookie进行响应,该会话cookie将由对图像或链接的后续请求携带。

杨魅力

我认为最简单的方法是使用querystring而不是HTTP标头。
随时随地看视频慕课网APP
我要回答