【问题标题】:How to change Header in fetch request at no-cors?如何在 no-cors 中更改 fetch 请求中的 Header?
【发布时间】:2019-12-07 13:17:24
【问题描述】:

向服务器发送请求,需要发送header “内容类型”:“应用程序/json”

这一切都是用fetch完成的,但是因为跨域必须指定

模式:'no-cors',

并且在这种模式下,浏览器默认为 - 'Content-Type': 'text/plain'

其实就是这个问题,因为返回415错误 这是整个请求代码

realFetch(url {
        method: 'POST',
        mode: 'no-cors',
        cache: 'no-cache',
        credentials: "same-origin",
        headers: {
            'Content-Type': 'application/json'
        },
        body: JSON.stringify(dataUser)
      }).

提示如何解决这个问题?如何强制浏览器使用 fetch 更改标题?

【问题讨论】:

    标签: javascript cors


    【解决方案1】:

    你不能。

    设置 no-cors 告诉 fetch 你不需要 CORS 权限,因此不会做任何需要权限的事情。

    Content-Type 标头设置为 HTML enctype 属性所允许的三个值之一之外的值需要来自使用 CORS 的服务器的权限。

    既然你告诉fetch不要检查权限,它就会忽略你做一些通常被禁止的事情的指示。


    This answer 有更多关于 CORS 和跨域请求的信息。

    【讨论】:

      猜你喜欢
      • 2021-03-20
      • 2021-02-12
      • 1970-01-01
      • 2017-11-20
      • 2017-07-13
      • 2015-09-01
      • 2021-03-04
      • 1970-01-01
      相关资源
      最近更新 更多