当我尝试通过Aurelia前端访问我的API时,出现以下错误:
XMLHttpRequest无法加载 https://[my这里的API URL] / auth。 对预检请求的响应未通过访问控制检查:否 请求中存在“Access-Control-Allow-Origin”标头 资源。因此不允许来源“http://localhost:9000” 访问。响应具有HTTP状态代码403
这是我的代码:
constructor(Aurelia, HttpClient) {
HttpClient.configure(http => {
http.withBaseUrl(config.baseUrl);
});
this.http = HttpClient;
this.app = Aurelia;
this.session = JSON.parse(localStorage[config.tokenName] || null);
}
login(username, password) {
var client = new HttpClient();
client.createRequest(config.apiUrl + '/auth', { username, password })
.asPost()
.withHeader('Access-Control-Allow-Origin', '*')
.withBaseUrl(config.baseUrl)
.send()
.then((response) => response.content)
.then((session) => {
localStorage[config.tokenName] = JSON.stringify(session);
this.session = session;
this.app.setRoot('app');
});
}
我做错了什么?
在Postman中它可以正常工作。
答案 0 :(得分:0)
我通过使用'启用CORS'来解决问题。在AWS API网关界面中,再次部署API。谢谢你指出我正确的方向!!