鉴于调用ajax
FriendsController@destroy
这一块
$.ajax({
url: '/dashboard/friends/' + id,
type: 'DELETE',
data: { src: 'show' },
success: function(response) {
}
});
删除程序完成后,return Redirect::route('dashboard.friends.index')
内的FriendsController
怎么办?我想这是试图将响应返回给AJAX,后者不知道如何反应。
我可以window.location.href = '/dashboard/friends'
但是我希望将一条成功消息发送到我无法用AJAX做的视图。
答案 0 :(得分:3)
我找到了最简单的方法。 在你的ajax成功中再次使用相同的url。假设朋友是你的路线名称,那么
$.ajax({
url: '/dashboard/friends/' + id,
type: 'DELETE',
data: { src: 'show' },
success: function(response) {
window.location.href = "friends";
}
});
这样你可以根据需要添加重定向或flash会话消息。
答案 1 :(得分:1)
Here is how I solved this issue我自己。对于执行AJAX删除模型等功能,它会提示确认模式,执行删除,刷新消息并重定向到提供的路径。
设置完成后,可以通过将正确的data
属性传递到原始删除按钮或链接来动态完成。
答案 2 :(得分:0)
我知道这可能是个老问题,但是如果您要返回动态路线
return route('post.view', ['id' => $result]);
在前端,您将
success: function(response){
window.location.replace(response);
}
答案 3 :(得分:0)
我遇到了同样的问题,这对我来说是个窍门。
在您的控制器中,您可以使用以下方法闪烁消息:
\Session::flash('success', __('locale.message'));
然后在您的ajax响应处理程序中,您重定向到所需的任何位置
location.replace('/home');
不要忘记在您的视图中添加登录名以显示消息,即:
@if (session('success'))
<div class="alert alert-success alert-dismissible fade show" role="alert">
{{ session('success') }}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
@endif
答案 4 :(得分:-1)
if(data.success){
var loc = window.location;
window.location = loc.protocol+"//"+loc.hostname+"/admin/dashboard";
}