【问题标题】:Redirecting to different view after an AJAX call Laravel在 AJAX 调用 Laravel 后重定向到不同的视图
【发布时间】:2019-07-27 21:15:14
【问题描述】:

我正在尝试通过执行 AJAX 调用来激活我的用户。我有这个 jQuery 代码:

$(document).ready(function(){

    $(document).one('click','.continue-button',function(){

        $.ajaxSetup({

            headers: {

                'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')

            }

        });

        var id = $(this).data('id');

        $.ajax({

            url: '/activate',
            type: 'POST',
            data: {id : id},
            success: function(res){

            }

        });

    });

});

它采用我的按钮的data-id 属性,这是用户的ID,并发送AJAX 调用。这就是我的路线的样子:

Route::post('/activate','ActiveController@activate');

我的功能:

public function activate(Request $request)
    {

        $id = $request->input('id');

        User::where('id',$id)->update([

            'active' => '1'

        ]);

        return redirect('/loadDashboard');

    }

它激活用户,然后重定向到“/loadDashboard”路由。路线是这样的:

Route::group( ['middleware' => 'auth' ], function()
{

    Route::get('/loadDashboard','ActiveController@loadDashboard');  

});

最后是我的loadDashboard 函数:

public function loadDashboard()
    {

        return view('dashboard')->with('title','Dashboard');

    }

我想在上述函数中将用户重定向到我的dashboard 视图,但它似乎将视图返回到我的 AJAX 调用。我可以在 Inspect->Network 中看到视图。我该如何解决这个问题?

【问题讨论】:

    标签: ajax laravel


    【解决方案1】:

    不是这个

    return redirect('/loadDashboard');

    放这个

    return response()->json(['url'=>url('/loadDashboard')]);

    然后在你的 ajax success 函数中输入:

     success: function(res){
       window.location=res.url;
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-04-09
      • 2020-07-27
      • 1970-01-01
      • 2020-03-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-07
      相关资源
      最近更新 更多