是否可以使用某种JavaScript来更改或设置HTTP请求的标头?
是否可以使用某种JavaScript来更改或设置HTTP请求的标头?
在javascript被下载甚至解释之前,请求头就已经被传递过去了。简短的答案是否定的。
然而,如果你是在ajax调用的上下文中(我们以jQuery为例),请求头可以被编写。
请参见使用jQuery读取来自AJAX调用的标题。使用jQuery在发起AJAX调用之前设置标题
但是,如果你的javascript是服务器端的(例如node.js),那么答案是肯定的(由于帖子提到了HTML,可能不是这种情况):
var body = 'hello world';
response.writeHead(200, {'Content-Length': body.length,'Content-Type': 'text/plain' });
通过使用XMLHttpRequest对象,您可以使用setRequestHeader
函数。
以下是一些示例代码:
var xhr = new XMLHttpRequest()
xhr.open("GET", "/test.html", true);
xhr.setRequestHeader("Content-type", "text/html");
xhr.send();
setRequestHeader
方法必须在调用open方法之后、send方法之前被调用。
更多信息请查看: https://developer.mozilla.org/en/DOM/XMLHttpRequest#setRequestHeader()