我正尝试在重定向后显示模式。
我已经在网上看到了所有方法,但是没有任何效果。
控制器
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');
答案 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