我用的是Express&ReactJS
快递编码:
const Express = require('express');
const PORT = 5000;
const cors = require('cors');
const server = Express();
server.use(cors()); // I've added the cors
server.get('/users', (req, res) => {
res.send({"users": [ {"user1": "John"}, {"user2": "Nick"} ]);
})
server.listen(PORT, () => {
console.log("server is running on 5000")
});
React代码:
import { useState,useEffect } from 'react';
const Home = () => {
async function fetchData() {
try{
const output = await fetch(`http://localhost:5000/users`);
console.log(output);
} catch(e){
console.error(e);
}
}
useEffect(() => {
fetchData();
}, [])
}
return (
<h1>FetchData</h1>
)
export default Home;
做了这些事之后...我仍然在我的控制台中得到CORS错误。
以下是完整的错误消息:
Response { type: "cors", url: "http://localhost:5000/users, redirected: false, status: 500, ok: false, statusText: "Internal Server Error", headers: Headers, body: ReadableStream, bodyUsed: false }
在做了一些研究之后,我发现在package.json文件中添加"proxy": "http://localhost:5000"
可以解决这个问题。但什么都没发生。
我现在该怎么办?
谢谢您的支持:)
4条答案
按热度按时间ubbxdtey1#
请把这个兑换
这是:
mdfafbf12#
尝试使用axios而不是fetch:
jfewjypa3#
尝试使用核心选项,
https://expressjs.com/en/resources/middleware/cors.html
muk1a3rh4#
如果你已经npm安装了cors,在你的const服务器中,将const服务器从
const server = Express();
更改为const server = express();
。https://expressjs.com/en/resources/middleware/cors.html
或者尝试使用node-http-proxy,然后只从本地主机请求:
安装方式:https://github.com/http-party/node-http-proxy