Я создаю форму входа в Angular 8. Работает нормально, но Chrome не показывает мне диалог сохранения пароля при входе пользователя (Edge работает). У меня есть следующий код:
<form name="loginForm" novalidate #loginForm="ngForm" [class.submitted]="loginForm.submitted"
class="form-signin mt-5 pt-5 pl-5 pr-5 pb-4 alert alert-secondary m-alert--air" *blockUI="'login-form'">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="la la-user m--icon-font-size-lg4 font-weight-bold"></i>
</span>
</div>
<label for="username" class="sr-only">Username</label>
<input type="text" id="username" name="username" [(ngModel)]="username" class="form-control"
placeholder="Username" required focus="true" />
</div>
<div class="input-group mt-2">
<div class="input-group-prepend">
<span class="input-group-text">
<i class="la la-asterisk m--icon-font-size-lg4 font-weight-bold"></i>
</span>
</div>
<label for="password" class="sr-only">Password</label>
<input type="password" id="password" name="password" [(ngModel)]="password" class="form-control"
placeholder="Password" required />
</div>
<button class="btn m-btn--air btn-lg btn-primary btn-block mt-3 p-3 m--regular-font-size-lg5" type="submit"
(click)="submit()">
<span>
<i class="la la-sign-out m--icon-font-size-lg4"></i>
<span>Login</span>
</span>
</button>
</form>
Метод отправки следующий:
public submit(): void {
const url = '/login';
const body = {
username: this.username,
password: this.password
};
this._http.post(url, body, this._loginFormBlocker).subscribe(
(result: any) => {
if (result.isAuthenticated === true) {
this._sessionService.setSession(result);
this._router.navigate(['/']);
} else {
this._toast.showErrorToast('Login failed. Please check entered credentials.');
}
},
() => {
this._toast.showErrorToast('Login failed. Please try again later on contact administrator.');
}
);
}
Стоит отметить, что я изменил исходный URL-адрес входа. Раньше /login
создавалось в AngularJS, сейчас /new/login
создается в Angular. Он работал с оригинальной версией AngularJS, но не с новой. Я удалил сохраненный пароль в Chrome, и тестер сохранил его, но он не работает для нас обоих.
В чем может быть проблема?