繁体   English   中英

以编程方式在JavaScript中为Content-Type设置http请求标头

[英]Programmatically setting http request headers in javascript for Content-Type

我正在编写一些代码来处理为我的应用程序发送帖子数据的过程,我想这样做,以便可以在需要时从另一个函数发送自定义标题。 我的问题是,是否可以按照我的代码示例下面的方式默认类似“ Content-Type”的内容,然后将其覆盖,还是我需要检查正在发送的自定义标头,如果未设置Content-type,则将其设置为默认值。 基本上,在创建发布请求期间,可以通过编程方式覆盖标头吗?

xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
xmlhttp.setRequestHeader("Content-length", formData.length);    
// check for custom headers
if ((headers !== null) && (headers !== undefined)) {
    for(var k in headers) {
        if(headers.hasOwnProperty(k) {
            xmlhttp.setRequestHeader(k.toString(), headers[k]);
        }
    }
}

我可能在“标头”对象中发送了类似JSON的其他“ Content-Type”。 如果我再次对Content-Type执行setRequestHeader,它会覆盖还是在发布请求中发送2个Content-Type标头?

编辑 :我不知道为什么我在StackOverflow上问这个问题,我只是意识到我可以通过使用表单处理程序记录我的标头来测试这个问题,我不打算这样做,我还是会把这个问题搁置一旁。

根据MDN

设置HTTP请求标头的值。 您必须在open()之后但send()之前调用setRequestHeader()。 如果使用相同的标头多次调用此方法,则值将合并为一个请求标头。

因此,多次调用setRequestHeader()将产生以下结果:

Content-Type: application/x-www-form-urlencoded, application/json

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM