laravel中的echo无法显示我是否返回redirect()

时间:2019-10-05 13:32:40

标签: javascript php laravel

我想在我的函数create()中显示警报,然后返回另一个函数。但是警报不显示

我使用echo“ alert('DONE')”;但这不起作用

public function create(){
    echo "<script>alert('DONE')</script>";
    return redirect()->route('view');
}

我希望警报显示在返回其他功能之前

2 个答案:

答案 0 :(得分:0)

如果您将AJAX与JS / JQuery一起使用,则在ajax回调中,您将从后端获得一些“响应”,这将是一个新URL,如下所示:

 // ... your logic
 // here don't need to echo anything
 return route('view'); // from back-end you can just send only the URL

在客户端,您可以获取该URL,并在警报窗口中按OK按钮后,您将被重定向到检索到的URL,如下所示:

 function (response) { // this is AJAX callback
     alert("DONE!");
     window.location.href = response;
 }

答案 1 :(得分:0)

返回重定向时,您可以将“ withSucess”链接为所需的成功消息作为参数。

return redirect()->route('view')->withSuccess('Done');

然后在您要重定向到的路由的刀片模板文件中:

@if(!empty($successMessage = \Illuminate\Support\Facades\Session::get('success')))
    <script>
        $(function () {
            @if($successMessage)
                alert('{{ $successMessage }}');
            @endif
        });
    </script>
@endif

我希望这会有所帮助!