React fetch 有错误 fetch 被 CORS 策略阻止

IT技术 reactjs fetch
2021-05-03 22:59:16

我试图让一个登录按钮点击调用一个获取 REST 调用。

但是,问题在于获取失败,并在 Javascript 控制台中显示此错误消息。

// 从源获取的访问已被 CORS 策略阻止:请求的资源上不存在 'Access-Control-Allow-Origin' 标头 // 如果不透明满足您的需要,请将请求模式设置为 'no-cors'在禁用 CORS 的情况下获取资源。// 获取异常失败。

为什么会发生这种情况,为什么我不能从 React 中的按钮单击调用 REST 调用?

私人句柄登录 = () => {

    console.log("button submit");

    // Access to fetch from origin has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource
    // If an opaque serves your need set the requests mode to 'no-cors' to fetch the resource with CORS disabled.
    // Exception Failed to Fetch.
    fetch('https://gturnquist-quoters.cfapps.io/api/random')
    .then((res) => {
        if (res.status >= 400) {
            throw new Error("Bad response from server");
        }
        return res.json();
    })
    .then((stories) => {
        console.log(stories);
    });


    this.props.login(this.state);


}
1个回答

您尝试调用的 API 不允许通过 AJAX 从浏览器调用。它需要设置特定的 headers 来指示允许哪些 ajax 请求。

更多信息:https : //gturnquist-quoters.cfapps.io/api/random