以编程方式在javascript中为Content-Type设置http请求标头
Programmatically setting http request headers in javascript for Content-Type
我正在编写一些代码来处理为我的应用程序发送post数据,我想让它,以便我可以从另一个函数发送自定义头,如果我需要它们。我的问题是,我可以默认的东西像"内容类型"的方式我的代码示例下面做,然后覆盖它,或者我需要检查自定义头发送,如果内容类型没有设置,设置为默认值。基本上,在创建post请求期间,您可以通过编程方式覆盖标头吗?
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上做setRequestHeader它会覆盖还是在post请求中发送2个Content-Type报头?
edit:我不知道为什么我在StackOverflow上问这个问题,我刚意识到我可以通过用表单处理程序记录我的头来测试这个,我要去做,我将把问题留在上面。
根据MDN:
设置HTTP请求头的值。你一定要打电话setRequestHeader()在open()之后,但在send()之前。如果这个方法是在同一个头文件中调用多次,这些值被合并到一个请求头。
因此多次调用setRequestHeader()
将产生以下结果:
Content-Type: application/x-www-form-urlencoded, application/json
相关文章:
- 我如何设置HTTP头“;访问控制允许起源”;用于来自thttpd web服务器的HTTP响应
- 由于浏览历史设置,angularjs http.get调用未在ie10中启动
- 如何在Angular中设置异步HTTP服务的回调,以便在不定义数组的情况下在控制器中填充数组
- 从ngInit在AngularJS中全局设置自定义HTTP头
- 在项目启动时从$http设置Angularjs常量.获取
- 将 http 标头设置为浏览器生成的请求
- 在 Chrome 扩展程序中为 HTTP 请求设置用户代理
- 在节点.js中设置 HTTP GET 中的 URL 参数的默认值
- Angular JS:如何为通过$http的所有调用设置上下文路径
- 将标题授权设置为角度$http发布
- 如何为 HTML 文档请求的 JS 和 CSS 文件设置 http “accept” 标头
- HTTP请求发送到StrutsAction,编码设置(Java)
- 动态更改浏览器http代理设置
- 如何从Http处理程序中设置window.name属性
- 从AngularJS中的$http服务设置$scope值的最佳方式
- 可以't使用Angular.js$http设置或覆盖特定标头
- 谷歌如何在搜索结果点击后设置HTTP Referrer
- 访问'设置Cookie'$http中的标头
- 在AngularJS中为$http设置一个服务或工厂来连接REST API的最佳实践
- 在IE 11中使用javascript编程更改http设置