当用户单击按钮时,我已经创建了ajax函数,它将首先检查用户个人资料是否已确认帐户。如果不是,它将重定向回用户仪表板。但是,我现在的问题是页面没有显示或没有重定向回。结果只能在浏览器的“网络”标签中看到。
我的ajax
$(document).on("click", "#apply", function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "get",
url: '/checkstatus',
success: function(store){
if(store == 'confirmed'){
$(".apply_modal").toggleClass("open").show();
$("body").toggleClass("open");
}
},
});
});
和我的控制器:
public function checkStatus(Request $request)
{
$verify = Auth::user()->verifyAccount();
if($verify == false){
if(session()->has('verify') && session()->get('verify') != '') {
session()->forget('verify');
} else {
session()->flash('verify', 'At first, please update your profile!');
}
}else{
return 'confirmed';
}
}
如何正确地将用户重定向回其主页?现在的结果是这样的。
给用户的消息:
@if(session('verify'))
<div class="complete_box">
<p>{{ session('verify') }}</p>
<a href="{{ url('/mypage') }}">Close</a>
</div>
@endif
答案 0 :(得分:3)
如果使用的是Ajax,则无法通过控制器重定向。您需要使用javascript
window.location.href = "your url";
window.location.href = "{{url('/mypage')}}";
$(document).on("click", "#apply", function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "get",
url: '/checkstatus',
success: function(store){
if(store == 'confirmed'){
$(".apply_modal").toggleClass("open").show();
$("body").toggleClass("open");
window.location.href = "your url";
}
},
});
});
用于Flash消息使用会话
public function checkStatus(Request $request)
{
$verify = Auth::user()->verifyAccount();
if($verify == false){
\Session::put('message','At first, please update your profile!');
return 'something you want';
}else{
return 'confirmed';
}
}
现在在您要显示Flash的刀片文件中,放这个
@if(Session::has('message'))
<p class="alert alert-success">
{!! Session::get('message') !!}
<a href="#" class="close" data-dismiss="alert" aria-label="close">×</a>
</p>
@endif
答案 1 :(得分:2)
$(document).on("click", "#apply", function(){
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "get",
url: '/checkstatus',
success: function(store){
if(store == 'confirmed'){
$(".apply_modal").toggleClass("open").show();
$("body").toggleClass("open");
window.location.href = "store.url";
}
},
});
});
store.url是响应中的URL。
在控制器中
Craete a url and send in response.