【问题标题】:Is it possible to alter http request's header using javascript?是否可以使用 javascript 更改 http 请求的标头?
【发布时间】:2012-06-28 04:57:50
【问题描述】:

是否可以使用某种 JavaScript 来更改或设置 HTTP 请求的标头?

【问题讨论】:

  • @Thiago,当您说“html”时,您的意思是“http”。 HTML 是从 HTTP 请求返回的文本格式。另外,您指的是异步请求(即 ajax)还是浏览器发出的请求(例如,当用户单击链接并且浏览器发送对新资源的请求时)。
  • 最初我的意思不是点击链接后浏览器发出的请求,但是 ajax 也可以解决我的问题。很抱歉 html / http x.x 的错误

标签: javascript jquery ajax http


【解决方案1】:

在下载 javascript 之前很久就传递了标头,更不用说解释了。简而言之,答案是否定的。

但是,如果您是在 ajax 调用的上下文中说话(我们以 jQuery 为例),则可以编写请求标头。

reading headers from an AJAX call with jQuery。 见setting headers before making the AJAX call with jQuery

但是,如果您的 javascript 是服务器端的(例如 node.js),那将是肯定的(可能不是因为帖子提到了 HTML):

var body = 'hello world';
response.writeHead(200, {'Content-Length': body.length,'Content-Type': 'text/plain' });

【讨论】:

  • 说 Html 是我的一个错误,它是服务器端的,我相信你的回答会对我有很大帮助!谢谢!!
【解决方案2】:

使用 XMLHttpRequest 对象,您可以使用setRequestHeader 函数。

一个小代码让你上路:

var xhr = new XMLHttpRequest()
xhr.open("GET", "/test.html", true);
xhr.setRequestHeader("Content-type", "text/html");

xhr.send();

方法setRequestHeader必须在打开之后,发送之前调用。

更多信息: https://developer.mozilla.org/en/DOM/XMLHttpRequest#setRequestHeader()

【讨论】:

    猜你喜欢
    • 2022-01-21
    • 2012-04-14
    • 2016-03-18
    • 1970-01-01
    • 1970-01-01
    • 2011-08-05
    • 2010-09-28
    • 1970-01-01
    相关资源
    最近更新 更多