当被AJAX调用时,Laravel重定向到从控制器路由

鉴于这个调用FriendsController@destroyajax

$.ajax({
    url:     '/dashboard/friends/' + id,
    type:    'DELETE',
    data:    { src: 'show' },
    success: function(response) {
    }
});

如何在删除过程完成后return Redirect::route('dashboard.friends.index') FriendsController return Redirect::route('dashboard.friends.index') ? 我想这是试图将回应返回给AJAX,它不知道如何反应。

我可以只是window.location.href = '/dashboard/friends'但我想闪光的成功消息的视图,我不能用AJAX做。


我找到了最简单的方法。 只需在您的ajax成功中再次使用相同的网址即可。 假设朋友是你的路线名称然后

$.ajax({
    url:     '/dashboard/friends/' + id,
    type:    'DELETE',
    data:    { src: 'show' },
    success: function(response) {
       window.location.href = "friends";
    }
});

这样,您可以将重定向或闪存会话消息放入其中。


这是我自己解决这个问题的方法。 对于执行模型的AJAX删除等功能,它将提示确认模式,执行删除,刷新消息并重定向到提供的路线。

一旦设置完成,它可以通过将适当的data属性传递给原始删除按钮或链接来动态完成。


if(data.success){

    var loc = window.location;
    window.location = loc.protocol+"//"+loc.hostname+"/admin/dashboard";
}
链接地址: http://www.djcxy.com/p/18549.html

上一篇: Laravel redirect to route from controller when called by AJAX

下一篇: Is there any way to avoid sub queries?