#jquery #laravel #laravel-blade
Вопрос:
После того, как эта функция будет выполнена успешно и функция else станет истинной. Я хочу перенаправить его на другую страницу и отправить переменную сеанса на эту страницу.
$(function(){
$("#create_form").on('submit', function(e){
e.preventDefault();
$.ajax({
url:$(this).attr('action'),
method:$(this).attr('method'),
data:new FormData(this),
processData:false,
dataType:'json',
contentType:false,
beforeSend:function(){
$(document).find('span.error-text').text('');
},
success:function(data){
if(data.status == 0){
$.each(data.error, function(prefix, val){
$('span.' prefix '_error').text(val[0]);
});
} else {
$('#create_form')[0].reset();
$(location).attr('href', "{{ route('product.home') }}")
alert(data.msg);
}
}
});
});
});
Затем я хочу захватить переменную сеанса «сообщение», как это, на этой новой странице. Затем покажите его.
@if (session()->has('message'))
<div id="session_message" class="m-10 text-center bg-red-100 border border-red-400 text-red-700 px-4 py-3 rounded relative" role="alert">
<strong class="font-bold">Hey!</strong>
<span class="block sm:inline">{{ session()->get('message') }}</span>
<span class="absolute top-0 bottom-0 right-0 px-4 py-3">
<a href="#" class="fa fa-times" id="close"></a>
</div>
@endif
Ответ №1:
Когда вы отправляете форму с запросом ajax, вы вызываете функцию laravel для хранения данных в базе данных. После успешного сохранения данных вы можете установить сеанс сообщения и получить этот сеанс в своем файле blade.