当你的API POST请求在Postman工具中工作正常,但在浏览器控制台中显示错误时,可能是由于以下几个原因导致的:
原因:服务器没有正确配置CORS,导致浏览器阻止了跨域请求。
解决方法:
原因:服务器没有正确处理OPTIONS请求。
解决方法:
原因:浏览器发送的请求头可能包含不被服务器允许的内容。
解决方法:
原因:浏览器可能缓存了旧的CORS策略。
解决方法:
以下是一个完整的Node.js + Express示例,展示了如何配置CORS:
const express = require('express');
const app = express();
app.use((req, res, next) => {
res.header('Access-Control-Allow-Origin', '*');
res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
});
app.options('/your-endpoint', (req, res) => {
res.sendStatus(204);
});
app.post('/your-endpoint', (req, res) => {
res.json({ message: 'Success' });
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
通过以上配置,你的服务器应该能够正确处理跨域POST请求,并且在浏览器中不再显示错误。
领取专属 10元无门槛券
手把手带您无忧上云