Heroku 服务器上的 CORS 策略问题
CORS policy issue on Heroku Server
我制作了一个客户端-服务器应用程序。
后端使用 Node、Express 和 MongoDB Atlas。
我已经安装了 CORS 并将其用作中间件,例如:
const cors = require('cors')
app.use(cors())
然后我将它部署到返回端点的 heroku;喜欢:https://express-server.herokuapp.com
我在基于 React 的客户端中使用了该端点。
我使用 axios 向服务器发出请求,例如:
const response = await axios.post('https://express-server.herokuapp.com/users/login' ,{some data here})
这是错误发生的地方。每次我发出请求时,控制台都会弹出以下响应。
这个有什么解决办法????
您必须在您的服务器中定义应接受来源请求
假设您的本地主机在端口 3000 上运行。试试这个代码
app.use(
cors({
origin: "http://localhost:3000",
credentials: true,
})
);
注意:凭证 true 设置为仅传递 HTTP cookie
添加到main.ts
app.enableCors({
origin: true,
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS',
credentials: true,
});
您需要支持 CORS preflight requests to do POST operations with json data. See this: 这意味着处理 http 选项。
在您的 Express 应用程序中,在其他路线之前有类似的内容。
app.options('*', cors())
我制作了一个客户端-服务器应用程序。 后端使用 Node、Express 和 MongoDB Atlas。
我已经安装了 CORS 并将其用作中间件,例如:
const cors = require('cors')
app.use(cors())
然后我将它部署到返回端点的 heroku;喜欢:https://express-server.herokuapp.com
我在基于 React 的客户端中使用了该端点。
我使用 axios 向服务器发出请求,例如:
const response = await axios.post('https://express-server.herokuapp.com/users/login' ,{some data here})
这是错误发生的地方。每次我发出请求时,控制台都会弹出以下响应。
这个有什么解决办法????
您必须在您的服务器中定义应接受来源请求
假设您的本地主机在端口 3000 上运行。试试这个代码
app.use(
cors({
origin: "http://localhost:3000",
credentials: true,
})
);
注意:凭证 true 设置为仅传递 HTTP cookie
添加到main.ts
app.enableCors({
origin: true,
methods: 'GET,HEAD,PUT,PATCH,POST,DELETE,OPTIONS',
credentials: true,
});
您需要支持 CORS preflight requests to do POST operations with json data. See this:
在您的 Express 应用程序中,在其他路线之前有类似的内容。
app.options('*', cors())