你好,我正在创建一个角度应用程序,我需要调用一个API。我遇到了CORS错误。“无访问-控制-允许-原产地”,这是我已经找到了一个few things在网上,但我仍然不知道我应该在哪里添加middlewhere。我想知道是否有人能具体说明如何使它与角的cli一起工作。
如果打开命令提示符并键入ng new test,则打开该测试文件夹并键入npm start。您可以添加调用api的代码,比如localhost/someapi/api/people,但是因为您没有调用localhost:4200,所以会得到这个错误。
因此,为了使我的问题明确,我理解您需要在服务器上添加cors中间的位置。,但问题是,在角5应用程序中,我应该添加这个作为节点读取它并允许它工作吗?
下面是我用来调用api的代码。
getToken():void{
let headers = new Headers({'Content-type': 'application/x-www-form-urlencoded'})
let params = new URLSearchParams();
params.append('username','some-username');
params.append('password', 'some-encripted-password');
params.append('grant_type', 'password');
let options = new RequestOptions();
options.headers = headers;
this.http
.post(this.appConfig.baseRoute + 'token',params.toString(), options)
.subscribe(result=>{ });
}发布于 2018-05-09 21:02:30
CORS头应该按照您提供的链接中的答案在服务器端设置。如果您的服务器需要身份验证令牌,那么除了身份验证令牌之外,不应该在角客户端设置任何东西。
为了简化本地开发,您可以为ng服务设置一个代理。
在根目录中添加此文件(带有角-cli.json的文件夹)
proxy.conf.js
const PROXY_CONFIG = [
{
context: [
// what routes to proxy
"/api",
],
// your backend api server
target: "http://localhost:8000",
secure: false
}
]
module.exports = PROXY_CONFIG;而不是调用ng服务,而是使用ng serve --proxy-config proxy.conf.js
https://stackoverflow.com/questions/50260515
复制相似问题