gpt4 book ai didi

node.js - Angular 2+ http.get() 卡在待处理状态

转载 作者:行者123 更新时间:2023-12-02 00:55:06 25 4
gpt4 key购买 nike

我有一个 MEAN 应用程序。
Angular CLI:7.1.4
Node :10.1.0
操作系统:win32 x64
Angular :7.1.4

最近来自 HttpClientModule 的 http 请求卡住了,没有发布到 Node 服务器:
Img of chrome dev tools xhr pending request

nodejs 服务器(在本地和生产中运行(azure web 应用程序)并不表示它曾经收到过请求。这种情况不一致。有时它完成有时它只是挂起。
这是从 Angular 到服务器的 testConnection 调用的片段:

Angular 服务

import { Injectable } from '@angular/core';
import { HttpClient, HttpErrorResponse } from '@angular/common/http';
import { throwError } from 'rxjs';
import { catchError } from 'rxjs/operators';
import { environment } from '../../environments/environment';
const Headers: any = { withCredentials: true, responseType: 'json', headers: { 'Content-Type': 'application/json' } };

@Injectable({
providedIn: 'root',
})
export class UserService {
constructor(private _http: HttpClient) {}
loginStatus() {
return this._http.get(`${environment.serverURL}/api/login-status`, Headers).pipe(catchError(this.handleError));
}}

Angular 组件:
ngOnInit() {
this._userSvc.loginStatus().subscribe(
(result:any)=>{console.log(result)},
(error:any)=>{console.log(error)})
}

Node/ express :
router.get('/login-status', (req, res, next) => {    
if (req.isAuthenticated()) {
res.status(200).json(req.user);
} else {
res.status(403).json({
success: false,
error: 'User not Authenticated',
message: "Please return to the login in page and try again."
})
}
})

Node 正在使用护照进行身份验证

不要与护照问题联系在一起,因为这条路线并不总是失败。我有不进行验证的简单路由,只返回一些失败的文本。

我尝试修改我的 CORS 选项,但我只能阻止自己。
有时重新启动服务器将允许请求完成但并非总是如此。

最佳答案

我发现了问题,我很尴尬地说它在 mssql 的 SQL 连接字符串中。
我有 ((config,error)=>{}) 而不是正确的 (config,(err)=>{});这是在护照的反序列化用户功能中。没有什么比查看数千行代码来发现一个小问题更合适的了。

关于node.js - Angular 2+ http.get() 卡在待处理状态,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54894170/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com