Google Chrome调用Express API -- CORS策略已阻止访问从源的http://localhost:3000'获取。
这个问题涉及到CORS(跨域资源共享)策略。CORS是一种浏览器安全机制,用于限制跨域请求。当一个网页应用程序通过XMLHttpRequest或Fetch API从一个域名请求资源时,浏览器会根据CORS策略来判断是否允许该请求。
在这个问题中,Google Chrome浏览器阻止了从源为http://localhost:3000的网页向Express API发起请求。这是因为浏览器默认情况下只允许同源请求,即源和目标的协议、域名和端口必须完全一致。
要解决这个问题,可以采取以下几种方法:
const express = require('express');
const cors = require('cors');
const app = express();
app.use(cors({
origin: 'http://localhost:3000',
}));
// 其他路由和中间件
app.listen(8080, () => {
console.log('Express API已启动');
});
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');
res.header('Access-Control-Allow-Headers', 'Content-Type, Authorization');
next();
});
// 其他路由和中间件
app.listen(8080, () => {
console.log('Express API已启动');
});
以上是解决CORS策略阻止访问的几种常见方法。根据具体情况选择适合的方法来解决问题。
腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云