【发布时间】:2020-11-26 23:56:33
【问题描述】:
我正在构建一个使用外部 API 的 javascript 应用程序。 为了获取数据,我使用 axios,但是每当我发出请求时,它都会返回一个 CORS 错误 - “没有 Access-Control-Allow-Origin 标头集”。 现在,一个临时的解决方案是在 API URL 前面添加一个第三方代理(例如https://cors-anywhere.herokuapp.com),它工作得很好,但我真的不想依赖第三方服务器并想在我自己的应用程序中处理它。
我已经尝试了几乎所有方法,但仍然无法正常工作。我使用 axios 响应拦截器将所需的标头附加到响应中,但它不起作用。
axios.interceptors.response.use(res => {
res.headers['Access-Control-Allow-Origin'] = '*';
res.headers['Access-Control-Allow-Credentials'] = 'true'
res.headers['Access-Control-Request-Method'] = 'POST'
return res;
})
我的 server.js 文件看起来像这样
const serveStatic = require('serve-static')
const path = require('path')
const cors = require('cors');
const app = express()
app.use('/', serveStatic(path.join(__dirname, '/dist')))
app.use(cors());
const port = process.env.PORT || 8080
app.listen(port, () => console.log("starting on port 8080"));
这个问题有什么解决办法吗?
【问题讨论】:
标签: javascript api web axios cors