我正在使用npm“同构获取”发送请求。我遇到的问题是无法设置请求头的内容类型。
我将内容类型设置为application/json,但是请求头被设置为text/plain。
import 'isomorphic-fetch';
sendRequest(url, method, body) {
const options = {
method: method,
headers:{'content-type': 'application/json'},
mode: 'no-cors'
};
options.body = JSON.stringify(body);
return fetch(url, options);
}
当我在浏览器中检查请求时,内容类型为o:
content-type:text/plain;charset=UTF-8
有人能解释为什么我不能设置这个属性吗?
看了下面这篇文章,我找到了答案:
https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API/Using_Fetch#Headers
由于标头可以在请求中发送,也可以在响应中接收,并且对于哪些信息可以且应该是可变的有各种限制,因此标头对象有一个guard属性。这不会向Web公开,但会影响headers对象上允许的变异操作。
可能的防护值为:
none
:默认值
注意:您不能附加或设置请求
受保护的标题“内容长度
标题。同样,不允许在响应头中插入Set Cookie
:不允许ServiceWorkers通过合成响应设置Cookie。
当options mode属性设置为no cors时,请求头的值是不可变的。
相反,我将模式属性设置为cors。
您需要创建一个fetch headers对象。
sendRequest(url, method, body) {
const options = {
method: method,
headers: new Headers({'content-type': 'application/json'}),
mode: 'no-cors'
};
options.body = JSON.stringify(body);
return fetch(url, options);
}
我试图使用服务/调度机制发布一个JAX-RS资源。问题是传出请求的内容类型被锁定为。我看不出有什么方法可以将其更改为其他类型,例如。 RESTful webservice只使用和。这是我使用的代码: 接受标头被修改为zoo标头,foo标头添加了值,但Content-Type保持不变。我想我可以使用一个过滤器,并根据一些条件修改,甚至基于foo头,但这似乎违反直觉。 以下是请求的所有标题: 感谢您的
我无法在HttpClient上设置内容类型。我接着问了一个问题:如何为HttpClient请求设置Content-Type头?但还是没有运气。 所以我怎么能强迫它,这样它就真的添加了它呢?提前道谢。
我的大摇大摆的ui显示“参数内容类型”,其中包含各种条目:、、和。 我只想要。 在repo上有一个类似的未解决的问题,它使用了这个可视化(旧的ui,但相同的想法): 版本 版本
我正在学习Spring框架,以创建使用基本身份验证和交换JSON的REST Web服务的客户端。在网上搜索了很多之后,我写了一些有效的代码(如下),但是现在我得到了一个“不支持的媒体类型”错误,因为请求是用内容类型文本/普通而不是应用程序/json发送的。我在网络上没有发现任何显示如何在请求头中设置内容类型的内容(而不会完全迷失在杂草中)。我的代码是: 任何指导都将不胜感激。 谢谢,乔治
问题内容: 我正在使用Flask,并且从get请求返回一个XML文件。如何将内容类型设置为xml? 例如 问题答案: 尝试这样: 实际的Content-Type基于mimetype参数和字符集(默认为UTF-8)。
问题内容: 我有多个IP可以上网。我正在请求选择界面。在这种情况下,我应该如何设置标题? 通常,头是以这种方式设置的: 但是无法弄清楚如何将它们设置为我的代码。 我想它们必须放在或中的某个位置。但是到底如何呢? 我的完整代码: 问题答案: 创建一个请求: 设置标题: 使用问题中配置的方式运行请求: 按照问题所示处理响应。