javascript:如何获取当前资源的XMLHttpRequest表示

时间:2011-08-28 18:01:33

标签: javascript xmlhttprequest

我希望能够使用javascript重新加载当前加载的资源,但在此之前自定义一些标头变量。

这种方法需要/应该在2个实际案例中使用:

  1. 作为一种方式,通过真正的HTTP登录处理登录,这意味着重新加载带有附加认证数据的资源
  2. 在重新发送请求之前,获取相同资源的不同媒体类型表示,即修改接受标头。
  3. 由于我需要保持其他任何标题字段不变,因为浏览器会原生地发送它,我不能简单地使用document.URL值构建自己的XMLHttpRequest。相反,我需要获取请求的XMLHttpRequest表示,即为当前资源发送的浏览器。

    有没有办法在JS中实现这一目标?最好使用没有任何jQuery魔法的纯JS。

1 个答案:

答案 0 :(得分:1)

如果是通过GET加载的,您只需创建XMLHttpRequest并使用document.location.href作为网址。

浏览器会指定常用的Cookie标头,因此除非GET以非idempotent方式更改Cookie,否则您的请求标头应大致相同。

如果当前资源是通过POST加载的,那么你运气不好。当前资源的POST主体不可用于JavaScript,因此除非您需要其他方式来获取它或从页面内容推断它。