Я новичок в laravel. Я недавно закончил один проект с laravel и загрузил его на рабочий сервер. все сделано успешно, но я сталкиваюсь и выпускаю сейчас. когда я пытаюсь войти и отправить запрос, он всегда переходит на страницу с истекшим сроком действия 419 страниц. также та же самая проблема, когда я пытаюсь войти в область администратора на том же самом приложении, это дает мне ошибку несоответствия CSRF. я пытаюсь войти с помощью AJAX в бэкэнд того же приложения.
Я использую laravel версия 5.8. *. он хорошо работает с http, но когда я перенес это на рабочий сервер ie. в домене https он отправляет меня на страницу с истекшим сроком действия, когда я пытаюсь ввести учетные данные и войти в приложение.
Если вы знаете, почему это происходит, сообщите мне. Любая помощь будет оценена. Спасибо!
Вот мой html код: -
<form action="<?php echo url('admin/checkLogin'); ?>" class="col-lg-12" id="admin_sign_in_form"
method="post">
{{ csrf_field() }}
<div class="alert alert-danger loginerror" style="display: none;"><i
class="fa fa-exclamation-circle"></i> wrong credential.
<button type="button" class="close" data-dismiss="alert">×</button>
</div>
<div class="alert alert-success loginsuccess" style="display: none;"><i
class="fa fa-exclamation-circle"></i> wrong credential.
<button type="button" class="close" data-dismiss="alert">×</button>
</div>
<h5 class="title">Sign in to your Account</h5>
<div class="form-group-pvr form-float">
<div class="form-line-pvr">
<input type="email" class="form-control" name="email" id="email">
<label class="form-label">Email</label>
@if ($errors->has('email'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('email') }}</strong>
</span>
@endif
<span class="admin_email_err text-danger"></span>
</div>
</div>
<div class="form-group-pvr form-float">
<div class="form-line-pvr">
<input type="password" class="form-control" name="password" id="password">
<label class="form-label">Password</label>
@if ($errors->has('password'))
<span class="invalid-feedback" role="alert">
<strong>{{ $errors->first('password') }}</strong>
</span>
@endif
<span class="admin_pass_err text-danger"></span>
</div>
</div>
{{-- <div class="form-check pull-left">
<label class="form-check-label">
<input class="form-check-input" type="checkbox" value="">
<span class="form-check-sign"></span>
Remember me
</label>
</div> --}}
<div class="col-lg-12 m-t-10">
{{--<a href="#" id="admin_sign_in_btn" class="btn btn-purple waves-effect">Sign In</a>--}}
<button type="submit" id="adminLoginBtn" class="btn btn-purple btn-block waves-effect">Login</button>
</div>
{{--<div class="col-lg-12 m-t-20">--}}
{{--<a class="" href="pvr_forgot_password.html">Forgot Password?</a>--}}
{{--</div>--}}
</form>
Вот мой Ajax код: -
$(document).ready(function () {
$("#admin_sign_in_form").on('submit', function (e) {
e.preventDefault();
var error = 0;
let adminemail = $("#email").val();
let adminpassword = $("#password").val();
if(adminemail == ''){
error++;
// $('.admin_email_err').html("Please Enter email");
}else{
// $('.admin_email_err').html("");
}
if(adminpassword == ''){
error++;
// $('.admin_pass_err').html("Please Enter password");
}else{
// $('.admin_pass_err').html("");
}
if(error==0) {
$.ajax({
url: '<?php echo url('/admin/checkLogin'); ?>',
type: 'POST',
data: new FormData(this),
dataType: 'json',
contentType: false,
processData: false,
success:function(data){
if(data['code']==200){
//alert(data['code']);
//$('#loginform').trigger("reset");
$('.loginerror').css('display','none');
$('.loginsuccess').html(data['msg']).css('display','block');
setTimeout(function(){
window.location.href = '<?php echo url('admin/dashboard'); ?>';
}, 1500);
}
if(data['code']==100){
$('.loginerror').html(data['msg']).css('display','block');
$('.formvalid').html("Invalid username and password");
}
}
});
}
});
});
Я отправляю всю форму данных вместе с запросом ajax и я также добавил поле csrf_field. Пожалуйста, проверьте.