【问题标题】:laravel jquery ajax not redirecting although I see the new page in the console尽管我在控制台中看到了新页面,但 laravel jquery ajax 没有重定向
【发布时间】:2019-10-07 23:40:11
【问题描述】:

我想在 laravel 中这样做:https://laravel.com/docs/5.6/redirects

我有一个简单的按钮,一个命名路由,我希望路由重定向到另一个页面。

虽然我在 Chrome 的网络控制台中看到了新页面,但页面本身并没有真正重定向。

我不想在 javascript 函数中使用 window.location.href,因为我希望路由来完成这项工作。

layout.blade.php

    $("#myRedirectButton").click(function(){

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

        $.ajax({
            method: 'post',
            dataType: 'text',
            url: 'redirect-testing-link',
            success: function (data)
            {

            }
        });

    });

routes/web.php

Route::post('/redirect-testing-link', function () {
    return redirect()->route('gidis');
});


Route::get('/gosterge_paneli', function () {
    return view('gosterge_paneli');
})->name('gidis');

【问题讨论】:

  • 这不管用对吧?您发布数据,不对其进行任何操作,然后在没有可用数据的情况下呈现视图。
  • 为什么不简单地使用href 属性?
  • @Core972 因为我想做 Laravel 文档中解释的示例
  • 只是问你为什么需要这么大的解决方案来解决一个看似非常简单的问题。答案是您不能按照您想要的方式进行操作,需要使用<a>window.location。在 AJAX 请求之后,您根本无法从服务器重定向到新视图。
  • @Loek 好的,你可以写这个评论作为答案我会选择它

标签: php laravel


【解决方案1】:

你不能在 AJAX 请求之后做服务器端重定向,所以你问的很困难。

解决此问题的最简单方法是使用您想要避免的 window.location,或者跳过整个 AJAX 调用并使用 <a> 元素。

【讨论】:

    猜你喜欢
    • 2022-11-18
    • 1970-01-01
    • 1970-01-01
    • 2021-04-18
    • 1970-01-01
    • 1970-01-01
    • 2017-03-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多