Я разрабатываю клиентское портальное приложение с использованием Angular-7 и Laravel-5.8:
import { Component, OnInit } from '@angular/core';
import { ApiService } from '../../../shared/services/api.service';
import { TokenService } from '../../../shared/services/token.service';
import { Router, Route } from '@angular/router';
import { AuthService } from '../../../shared/services/auth.service';
import { SnotifyService } from 'ng-snotify';
import { Ng4LoadingSpinnerService } from 'ng4-loading-spinner';
declare var $;
@Component({
selector: 'app-login',
templateUrl: './login.component.html',
styleUrls: ['./login.component.scss']
})
export class LoginComponent implements OnInit {
public loggedIn: boolean;
public form = {
email : null,
password : null,
remember_me : false
};
name = null;
public error = null;
constructor(
private api: ApiService,
private token: TokenService,
private router: Router,
private auth: AuthService,
private notify: SnotifyService,
private spinnerService: Ng4LoadingSpinnerService
) {}
ngOnInit() {
if(this.token.loggedIn) {
this.router.navigateByUrl('/home');
}
document.body.className = 'hold-transition login-page';
$(() => {
$('input').iCheck({
checkboxClass: 'icheckbox_square-blue',
radioClass: 'iradio_square-blue',
increaseArea: '20%' /* optional */
});
});
}
onSubmit(){
this.notify.info('Wait...', {timeout: 0});
this.spinnerService.show();
var headers = {
'Content-Type' : 'application/json'
}
return this.api.post('login', this.form, headers).subscribe(
data => this.tokenHandler(data),
error => this.errorHandler(error.error)
);
}
errorHandler(error){
this.spinnerService.hide();
this.notify.clear();
console.log(error);
if(error.errors && error.errors.email){
this.error = error.errors.email;
}
else if(error.message=='Unauthorized'){
this.error = null;
this.notify.error('Invalid Login Details or email not confirmed', {timeout: 0})
} else {
this.error = null;
this.notify.error(error.message, {timeout:0})
}
}
tokenHandler(data){
this.notify.clear();
console.log(data);
this.token.setRoles(data.user.roles);
this.token.set(data.token_type + " " + data.access_token, data);
this.auth.changeAuthStatus(true);
this.loggedIn = true;
this.notify.info('Login Succesfully', {timeout:2000});
this.wait(999);
this.router.navigateByUrl('/home');
window.location.reload();
}
add(){
this.notify.clear();
this.name = null;
var modal = document.getElementById('addModal');
modal.style.display = 'block';
}
addModalSubmit(){
this.notify.clear();
this.notify.info('Wait...', {timeout: 0});
localStorage.setItem('student_id', this.name);
this.auth.changeAuthStatus(true);
this.loggedIn = true;
this.notify.info('Login Succesfully', {timeout: 2000});
this.wait(999);
this.router.navigateByUrl('/home');
window.location.reload();
}
closeAddModal(){
localStorage.removeItem('token');
localStorage.removeItem('roles');
localStorage.removeItem('user');
//localStorage.removeItem('student_id');
var modal = document.getElementById('addModal');
modal.style.display = 'none';
}
private wait(ms){
var start = new Date().getTime();
var end = start;
while(end < start + ms) {
end = new Date().getTime();
}
}
}
У меня очень странная ошибка, и я не знаю, как ее исправить.
Кнопка «Отправить» предполагает, что вы перенаправили меня на домашнюю страницу, но на ней отображается пустой белый экран.Я проверил консоль и сеть, ошибок нет.В чем может быть причина и как мне ее устранить?