Angular 当我将电子邮件放入有效负载时,代理出错
Angular proxy got error when I put email in payload
我使用Angular开发重置密码模块,我需要先发邮件到后端验证。我使用代理向后端发送 API 请求,以下是我的代理设置:
"/api": {
"target": "http://localhost:3000",
"secure": false,
"changeOrigin": true
}
然后我发现这个API请求总是出现以下错误,即使后端已经收到这个电子邮件验证请求并完成处理。 (只有这个 api 请求,其他请求都可以正常工作)有人可以帮助解决这个问题吗?
[HPM] Error occurred while trying to proxy request /api/reader/verifyemail from localhost:4200 to http://localhost:3000 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)
以下是我的组件代码 - 调用 API 部分:
submitEmail() {
const val = this.email.value; //email value from input element
this.readerService.verifyEmail({ email: val }).subscribe((data) => {
if (data) {
this.logger.info(`Email validation success for reader ${data}`);
this.readerService.sendResetEmail(val).subscribe((data) => {
if (data) {
window.alert('Please check your email and follow it to reset the password');
this.router.navigateByUrl('/reader/login');
}
})
} else {
this.logger.warn('Email validation failed');
window.alert('No account is associated with this email')
}
})
}
以下是我在前端的 API 服务:
verifyEmail(input: emailDto): Observable<any> {
return this.http.post('/api/reader/verifyemail', input).pipe(
catchError(this.handleError('verifyEmail')), shareReplay()
)
}
后端 API 部分应该没问题,因为我测试了一切,包括发送重置电子邮件,一切正常。它们的 return 值为 json 对象或 null,就像我的其他 API 一样。
非常感谢!
找到原因了,因为我的html文件问题,我用FormBuild代替FormControls重新定义表单,错误消失了。
我使用Angular开发重置密码模块,我需要先发邮件到后端验证。我使用代理向后端发送 API 请求,以下是我的代理设置:
"/api": {
"target": "http://localhost:3000",
"secure": false,
"changeOrigin": true
}
然后我发现这个API请求总是出现以下错误,即使后端已经收到这个电子邮件验证请求并完成处理。 (只有这个 api 请求,其他请求都可以正常工作)有人可以帮助解决这个问题吗?
[HPM] Error occurred while trying to proxy request /api/reader/verifyemail from localhost:4200 to http://localhost:3000 (ECONNRESET) (https://nodejs.org/api/errors.html#errors_common_system_errors)
以下是我的组件代码 - 调用 API 部分:
submitEmail() {
const val = this.email.value; //email value from input element
this.readerService.verifyEmail({ email: val }).subscribe((data) => {
if (data) {
this.logger.info(`Email validation success for reader ${data}`);
this.readerService.sendResetEmail(val).subscribe((data) => {
if (data) {
window.alert('Please check your email and follow it to reset the password');
this.router.navigateByUrl('/reader/login');
}
})
} else {
this.logger.warn('Email validation failed');
window.alert('No account is associated with this email')
}
})
}
以下是我在前端的 API 服务:
verifyEmail(input: emailDto): Observable<any> {
return this.http.post('/api/reader/verifyemail', input).pipe(
catchError(this.handleError('verifyEmail')), shareReplay()
)
}
后端 API 部分应该没问题,因为我测试了一切,包括发送重置电子邮件,一切正常。它们的 return 值为 json 对象或 null,就像我的其他 API 一样。 非常感谢!
找到原因了,因为我的html文件问题,我用FormBuild代替FormControls重新定义表单,错误消失了。