重定向后显示模态,laravel

时间:2019-02-13 14:10:34

标签: php laravel

我正尝试在重定向后显示模式。

我已经在网上看到了所有方法,但是没有任何效果。

控制器

Public Sub Main()
    DoSomething()
    Threading.Thread.Sleep(5000)
    Console.WriteLine("Really Done")
End Sub

Public Sub DoSomething()
    Dim t As Task = DoSomethingAsync()
    Console.WriteLine("Done Doing Something")
End Sub

Public Async Function DoSomethingAsync() As Task
    Console.WriteLine("Here")
End Function

刀片

return redirect()->back()->with('code');

3 个答案:

答案 0 :(得分:0)

重定向上的with函数可以有两个参数,一个键和一个值。您只传递了一个密钥,'code',默认情况下,Laravel将set the value to null

因此,当您获取session('code')的值时,它将返回null。而且php认为null是一个错误值,因此您的条件永远不会成立。

要解决此问题,请将一个值传递给您的with函数:

return redirect()->back()->with('code', true);

答案 1 :(得分:0)

当您的code变量出现在您的视图中时,可能永远不会设置它。

如果在尝试返回变量之前在代码中定义了变量。您可以使用compact()函数将其传递给视图。像这样:

return redirect()->back()->with(compact('code'));

Compact创建一个包含变量及其值的数组。

或仅使用数组:

return redirect()->back()->with([
   'code' => $code
]);

将变量传递到视图后,就可以对其进行测试。假设$code包含布尔值或非空值:

@if ($code)
...
@endif

答案 2 :(得分:0)

我认为这样更好,

在控制器中

Session::flash('code','randomvalue');
return redirect()->back();

然后像这样更换刀片

//checking if the session has 'code'
@if(Session::has('code'))
your script
@endif