У меня есть приложение MEAN.Angular CLI: 7.1.4 Узел: 10.1.0 ОС: win32 x64 Angular: 7.1.4
В последнее время http-запросы от HttpClientModule зависали и не публиковались на сервере узла: Img of chromedev tools xhr ожидающий запрос
Сервер nodejs (работающий локально и в производственном режиме (веб-приложение Azure) не указывает, что он когда-либо получал запрос. Это происходит непоследовательно. Иногда он завершается, а иногда простозависает. Вот фрагмент вызова testConnection из Angular на сервер:
Служба 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)})
}
Узел / экспресс:
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."
})
}
})
Узел использует паспорт для аутентификации
Не связывайтесь с проблемой паспорта, потому что не всегда этот маршрут дает сбой. У меня есть простые маршруты, которые не проверяют и просто возвращаютнекоторый текст, который тоже не срабатывает.
Я пытался изменить параметры CORS, но мне удалось заблокировать только себя. Иногда перезапуск сервераОтложите запрос до конца, но не всегда.