【发布时间】:2022-01-05 18:42:16
【问题描述】:
我正在使用 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")
});
反应代码:
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" 可以解决问题。但是什么都没有发生。
我现在该怎么办?
谢谢:)
【问题讨论】:
-
那个 500 状态码是可疑的。当您使用
curl访问您的/users端点时,您是否也得到了它? -
我正在使用 Postman & insomnia 测试
-
您在浏览器中收到什么 CORS 错误消息(如果有)?
标签: node.js reactjs error-handling next.js cors