当浏览器执行跨域请求时,如果服务器没有设置正确的CORS(跨域资源共享)策略,浏览器会阻止请求,并显示“被CORS策略阻止:请求的资源上没有“Access-Control-Allow-Origin”头部信息。”的错误信息。
要解决这个问题,需要在服务器端设置正确的CORS策略。下面是一些常见的解决方法示例:
// Node.js (Express框架)示例
app.use(function(req, res, next) {
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT, PATCH, DELETE');
res.setHeader('Access-Control-Allow-Headers', 'X-Requested-With,content-type');
res.setHeader('Access-Control-Allow-Credentials', true);
next();
});
// Node.js (Express框架)示例
const cors = require('cors');
app.use(cors());
# Apache示例
Header set Access-Control-Allow-Origin "*"
Header set Access-Control-Allow-Methods "GET, POST, OPTIONS, PUT, DELETE"
Header set Access-Control-Allow-Headers "X-Requested-With,content-type"
以上方法中,将“Access-Control-Allow-Origin”头部信息设置为“”表示允许来自任何来源的跨域请求。如果需要指定特定的来源,可以将“”替换为相应的URL。
需要注意的是,CORS策略是由服务器配置的,因此需要在服务器端进行设置,而不是在客户端代码中。