【问题标题】:laravel controller redirect just shows in console, doesn't actually redirect the pagelaravel 控制器重定向只显示在控制台中,实际上并不重定向页面
【发布时间】:2020-08-28 03:40:57
【问题描述】:

我有一个简单的控制器,它在完成时会重定向,但当它完成时,它只会在我的控制台中显示 URL 和页面,但实际页面根本不会重定向,只是保持静态

控制器.php

function saveImages(Request $request) {

    $data = $this->service->save(
        $request->type, 
        $request->image, 
    );

    return Redirect::to(route('images.show', $data))->send();
}

我的控制台显示找到 302,然后显示正确的 'site.com/images/show/45' url,并且 45 确实是返回值。

为什么实际页面没有重定向?

【问题讨论】:

    标签: php laravel


    【解决方案1】:

    试试

    return response()->redirectToRoute('images.show')->with($data);
    

    【讨论】:

    • 这有效,但它仍然在我的 Web 控制台中加载页面,原始页面保持静态。顺便说一句,这都是通过 axios 调用实现的
    • 您将无法通过使用 php 重定向使用 axios 重定向页面,您将如您在控制台中所说的那样获得重定向。做到这一点的方法是使用 axios 重定向,这是一个不同的区域,我认为你的 php 代码很好,你需要在得到响应后在 axios 端进行重定向,或者简单地使用 window.location = '#' 其中 # 是您从响应中说的一些 url,而不是返回重定向,使用 return 'the-url';
    【解决方案2】:

    我是编码新手,但我使用这样的重定向,

    你试过了吗?

     return redirect(route('images.show', $data))->send();
    

    【讨论】:

    • 我也试过这个,我以前也试过,但为了安全起见,我又做了一次。不幸的是,它仍然只是在控制台中重定向
    • 您是否在其他浏览器中尝试过?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    • 2017-10-29
    • 2012-10-27
    • 2015-02-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多