对跨域的React Fetch调用会引发404错误

时间:2019-01-22 09:30:08

标签: javascript c# reactjs cors asp.net-web-api2

我正在研究React应用程序,该应用程序进行跨域API调用。我已经在下面的服务器中配置了

<httpProtocol>
      <customHeaders>
        <add name="Access-Control-Allow-Origin" value="https://example.site.com" />
        <add name="Access-Control-Allow-Methods" value="POST, PUT, DELETE, GET, OPTIONS" />
        <add name="Access-Control-Allow-Headers" value="content-Type, accept, origin, X-Requested-With, Authorization, name" />
        <add name="Access-Control-Allow-Credentials" value="true" />
      </customHeaders>
    </httpProtocol>

在下面反应UI代码

fetch(url, {
            body,
            credentials: 'include',
            headers,
            method

        }).then(response => response.json()).then((responseContent: any) => {



            return responseContent;
        })

但是仍然会遇到CORS来源问题,就像我们无法按照CORS政策访问资源一样。

以上是可正常运行的chrome隐身窗口,只有正常的chrome浏览器会抛出错误。

如果我删除“凭据:'include'”,CORS问题就不会出现,但会引发HTTP 302状态并带有重定向问题。

尝试了以下其他方式:(但没有运气)

  1. 删除了web.config条目,并在startup.cs文件中使用了UseCors选项。
  2. 删除了UseCors选项,并在Webapiconfig中尝试了具有相应参数的EnableCors。

下面的错误屏幕截图:

enter image description here

0 个答案:

没有答案