首页 > 解决方案 > 使用 POST 请求的 fetch 反应 CORS 问题

问题描述

我有一个在http://localhost:10080/v1 [我无法更改 api 的代码] 上运行的 api。我已经构建了一个反应应用程序来将一些发布数据发送到该 api。React 应用程序在http://localhost:3000上运行

handleSubmit(event){
    event.preventDefault()
    const base_url="http://localhost:10080/v1/"
    const data={<<some json data>>}
    let headers = new Headers();
    headers.append('Content-Type', 'application/json')
    fetch(base_url,{
        method:'POST',
        mode: 'no-cors',
        header:headers,
        body: JSON.stringify(data),

    })

}

当我更改为时modecors我的跨域请求被阻止。当我更改mode为 时no-cors,我收到415-Unsupported Media Type错误,因为当我们禁用 cors 时,我们无法更改请求标头(在其他答案和文档中给出)。如何克服这一点并向该 api 发送发布请求?

标签: javascriptreactjscorsfetchcross-origin-read-blocking

解决方案


使用 CMD 在您的 Node 应用程序中运行“npm install cors”,然后在您的节点应用程序的 index.js 文件中添加以下代码。

const cors = require('cors');

app.use(cors());


推荐阅读