前后端无法通信
Frontend and backend can't communicate
我正在使用节点 js 中的 koa 框架编写一个全栈应用程序用于后端,angular 4 用于前端。问题是当我通过前端在后端 API 上发出 post 请求时(即当我想登录时),我得到一个 DOM 异常文本 "Network error occurred" 和代码 19。后端本身工作正常(我用 postman 测试过)。以下是我的 angular 代码片段,其中包括我发出请求的服务方法和处理响应的组件方法。
服务方式:
authenticate(username: string, password: string): Observable<boolean> {
return this.http.post('localhost:3000/api/sign-in',
JSON.stringify({ username: username, password: password }))
.map((response: Response) => {
let token = response.json().token;
if (token) {
this.token = token;
localStorage.setItem('currentUser', JSON.stringify({ username: username, token: token}));
return true;
} else {
return false;
}
});
}
组件方法:
logIn(): void {
this.authenticationService.authenticate(this.username, this.password)
.subscribe(result => {
if (result == true) {
this.router.navigate(['/people']);
} else {
console.log('Username or password incorrect!');
}
});
}
哦,你忘了在 URL 中指定协议,它应该是这样的:
this.http.post('http://localhost:3000/api/sign-in', ...
我正在使用节点 js 中的 koa 框架编写一个全栈应用程序用于后端,angular 4 用于前端。问题是当我通过前端在后端 API 上发出 post 请求时(即当我想登录时),我得到一个 DOM 异常文本 "Network error occurred" 和代码 19。后端本身工作正常(我用 postman 测试过)。以下是我的 angular 代码片段,其中包括我发出请求的服务方法和处理响应的组件方法。
服务方式:
authenticate(username: string, password: string): Observable<boolean> {
return this.http.post('localhost:3000/api/sign-in',
JSON.stringify({ username: username, password: password }))
.map((response: Response) => {
let token = response.json().token;
if (token) {
this.token = token;
localStorage.setItem('currentUser', JSON.stringify({ username: username, token: token}));
return true;
} else {
return false;
}
});
}
组件方法:
logIn(): void {
this.authenticationService.authenticate(this.username, this.password)
.subscribe(result => {
if (result == true) {
this.router.navigate(['/people']);
} else {
console.log('Username or password incorrect!');
}
});
}
哦,你忘了在 URL 中指定协议,它应该是这样的:
this.http.post('http://localhost:3000/api/sign-in', ...