【发布时间】:2019-12-21 05:24:33
【问题描述】:
我正在尝试在 Laravel 项目中实现 Ajax 调用。目前,我正在寻找一种在 Ajax 成功执行某些操作并重定向页面后显示成功/错误消息的方法。 在 Laravel 控制器中,通常我可以这样做:
if($patient->wasRecentlyCreated){
return redirect('/patients')->with('success','New patient data saved');
} else {
return redirect('/patients')->with('error','Patient already exist');
}
在刀片视图中,我在布局页面中添加了消息部分(这样消息将出现在重定向页面的顶部):
@if(count($errors)>0)
@foreach ($errors->all() as $error)
<div class="alert alert-danger">
{{$error}}
</div>
@endforeach
@endif
@if(session('success'))
<div class="alert alert-success">
{{session('success')}}
</div>
@endif
@if(session('error'))
<div class="alert alert-danger">
{{session('error')}}
</div>
@endif
在 Ajax 调用的情况下,我能够从 Laravel 控制器传递重定向目标 URL,但我不知道如何将成功/错误消息传递给 Ajax。 下面是我为处理 Ajax 而制作的 Laravel 控制器示例:
if($settlement->wasRecentlyCreated){
return url('/patients');
}
在 Ajax 部分,我可以使用 window.location 进行重定向:
$.ajax({
url: "/createsettlement",
type: 'post',
data: {
billing_id : billing_id,
prices : prices,
_token : '{{csrf_token()}}'
},
success: function (data) {
console.log(data);
window.location = data;
},
知道如何在 Ajax 进行页面重定向时传递成功/错误消息吗?
【问题讨论】: