我正在编写一个有角度的应用程序。我现在遇到的主要问题是,当我必须将前端应用程序与后端服务器连接时,它无法连接,并且出现错误0。我还上传了另一个返回类似错误的应用程序。鉴于错误0表示问题实际上可能是我想知道导致问题的原因的任何原因。
据我所知,由于我的后端无法正常工作,该问题无法解决。那是因为我的应用程序使用Swagger运行,并且Swagger在返回已用JSON解析的代码方面没有任何明显的问题。
因此它一定是我的前端。但是,这也不大可能,因为在必须连接到后端之前,它运行良好。 (在我的代码中,直到类authentication.service.ts第64行用于检查用户名,直到authentication.service.ts第40行用于注册用户)。
我已经要求Norton防病毒软件停止执行任何操作,以查看我的应用程序是否由于我的防病毒软件而无法运行,但是事实证明,我的防病毒软件并未执行任何操作来阻止前端连接到后端。
如果某些代码运行错误,则必须使用以下方法进行编码:
checkUserNameAvailability = (username: string): Observable<boolean> => {
// console.log(username);
return this.http.get<boolean>(
`${environment.apiUrl}/User/checkusername`,
{
params: { username }
}
).pipe(catchError(err => {
console.error(err);
return of(null);
}))
}
这是从第62行到第73行的authentication.service.ts中的代码。
我将链接到下面的github存储库:
角度前端:https://github.com/GuylianBollon/AngularFrontendWebIV C#后端:https://github.com/GuylianBollon/CbackendWebIV
这是我发现的另一件事: 将我的角形前端连接到C#后端后,并在检查命令提示符下的连接后直接将其生成,如下所示。 (注意:44392是我的C#后端的SSL端口)。
C:\Users\Hp>netstat -a -n | findstr 44392
TCP 0.0.0.0:44392 0.0.0.0:0 LISTENING
TCP [::]:44392 [::]:0 LISTENING
TCP [::1]:44392 [::1]:53942 ESTABLISHED
TCP [::1]:53942 [::1]:44392 ESTABLISHED
等待大约1分钟后,将生成以下内容:
C:\Users\Hp>netstat -a -n | findstr 44392
TCP 0.0.0.0:44392 0.0.0.0:0 LISTENING
TCP [::]:44392 [::]:0 LISTENING
TCP [::1]:53942 [::1]:44392 TIME_WAIT
不确定这是否正常,但我认为这很有趣。
这也是我proxy.conf.json文件的json:
{
"/api": {
"target": {
"host": "localhost",
"protocol": "https",
"port": 44392
},
"changeOrigin": true,
"secure": false,
"logLevel": "warn"
}
}
将角形前端连接到C#后端后打开浏览器时,请在用户名字段中写一些内容,然后等待2分钟,将生成以下内容:
authentication.service.ts:70 1. HttpErrorResponse {标头:HttpHeaders,状态:0,statusText:“未知错误”,URL:“ / api / User / checkusername”,确定:false,…} 1.错误:ProgressEvent {isTrusted:true,lengthComputable:false,已加载:0,总计:0,类型:“ error”,…} 2.标头:HttpHeaders {normalizedNames:Map(0),lazyUpdate:空,标头:Map(0)} 3.消息:“ / api / User / checkusername的Http错误响应:0未知错误” 4.名称:“ HttpErrorResponse” 5.确定:错误 6.状态:0 7. statusText:“未知错误” 8.网址:“ / api / User / checkusername” 9. proto :HttpResponseBase
api / User / checkusername?username = abc:1 无法加载资源:net :: ERR_EMPTY_RESPONSE
答案 0 :(得分:0)
您的代理配置文件中有一个错字,一个固定版本:
{
"/api": {
"target": {
"host": "localhost",
"protocol": "https:",
"port": 44392
},
"changeOrigin": true,
"secure": false,
"logLevel": "warn"
}
}
请注意https:
后的冒号(:),您的版本中没有此冒号。