在Angular 7中,如果你遇到了"响应预检请求未通过访问控制检查:请求中未包含'Access-Control-Allow-Origin'头部"的错误,通常是由于跨域请求导致的。为了解决这个问题,你可以尝试以下几种方法:
proxy.conf.json
文件(如果没有就创建一个),并添加以下内容:{
"/api": {
"target": "http://api.example.com",
"secure": false,
"changeOrigin": true
}
}
这里的/api
是你要请求的API的前缀,http://api.example.com
是API的地址。然后在angular.json
文件中的architect -> serve -> options
下添加"proxyConfig": "proxy.conf.json"
。
Access-Control-Allow-Origin
头部。具体的方法取决于你使用的服务器端技术。以下是一个使用Node.js和Express框架的例子:
app.use(function(req, res, next) {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Methods", "GET,PUT,POST,DELETE");
res.header("Access-Control-Allow-Headers", "Content-Type");
next();
});
这里*
表示允许任意源进行访问,你也可以指定具体的源。
以上是一些常见的解决跨域问题的方法,根据你的具体情况选择适合你的方法。