背景:我正在为我的公司开始一个新项目。自从我完成一些Web开发并决定使用最新平台构建它以来已经很多年了(所以我对所有这些都是新手)。
当前筹码:
问题:我似乎无法将我的前端与我的后端正确连接。
这是我的代码:
import {inject} from "aurelia-framework";
import {HttpClient} from "aurelia-http-client";
@inject(HttpClient)
export class Login {
constructor(httpClient){
this.http = httpClient;
}
signIn() {
const url = 'http://localhost:8000/api/user/demo/test';
this.http
.get(url)
.then(data => {
console.log("data");
console.log(data);
})
.catch(error => {
console.log('Error getting ' + url);
console.log(error);
});
};
}
这总是在catch块中结束,带有“response:ProgressEvent”
如果我将网址放入浏览器中,我会得到一个合适的JSON:
{"status":"success","data":[],"message":"Retrieved ALL users"}
上述代码仅适用于“本地”内容,即localhost:9000。一旦我需要来自其他地方的内容,我就会收到此错误。我错过了什么?
答案 0 :(得分:2)
我认为CORS不允许您从localhost:8000
访问localhost:9000
。要解决此问题,您应该使ExpressJS服务器接受来自localhost:9000
(或使用通配符" *"的所有主机)的CORS请求。
了解这些资源: