重定向页面,但仍在Laravel上带数据

时间:2019-04-22 04:07:24

标签: javascript php laravel

我想从控制器重定向页面,但仍将数据/数据仍然存在(数据名称为“ valueOne”)

我尝试过使用此代码

return redirect()->back()->with('alert','test');

return view('login');

这是我在刀片中的表格:

//this data i get from other page, and keep this on this blade
<input id="valueOne" name="valueOne" type="hidden" value="{{ $result->valueOne }}">


    <form action="{{URL::to('/getHalaman')}}" method="post" id="form1">
    <div class="numberOne">Number One : 
      <select id="numberOne" name="numberOne">
        <option value="null" id="numberOne">-- choose --</option>
        <option value="a">a</option>
        <option value="b">b</option>
        <option value="c">c</option>
      </select>
      </div>

      <br>

      <div class="numberTwo" style="text-align: center;">Number Two : 
      <select id="numberTwo" name="numberTwo" style="width: 200px;">
        <option value="null">-- choose --</option>
        <option value="aa">aa</option>
        <option value="bb">bb</option>
      </select>
      </div>

      <br>
      <div class="button" style="text-align: center;">
      <input id="id" name="id" type="hidden" value="{{ $result->id }}">
      <script src="js/testButton.js" type="text/javascript"></script>
      <button id="buttonSubmit" type="submit" value="Submit"> Konfirmasi </button>
    </div>
      {{ csrf_field() }}
     </div>
     </form>

这是我的控制器:

function getHalaman(Request $req){
    $req->numberTwo == 'null';

        return redirect()->back()->with('alert','error');
    try {
         if($req->numberTwo == 'aa'){
            return view('numberOne')->with('a',$req->numberOne)->with('jaminan',$req->numberTwo)->with('id',$req->id);  
        } else {
            return view('numberTwo')->with('a',$req->numberOne)->with('jaminan',$req->numberTwo)->with('id',$req->id);
        }

    } catch (\Throwable $th) {
        return view('login');
    }
}

这是我的路线:

Route::post('/getHalaman', 'userController@getHalaman');

我尝试并得到类似valueOne的错误

Symfony \ Component \ HttpKernel \ Exception \ MethodNotAllowedHttpException

我的期望是,如果用户不选择该选项numberTwo,它将在该页面上重定向,但仍带来valueOne

有人可以帮助我吗?非常感谢,希望能帮助我..

3 个答案:

答案 0 :(得分:0)

使用with发送数据时,其存储在Flash会话数据中,这意味着您需要从会话中获取此数据。请参阅laravel文档。 Flash Data to view

因此要从会话中获取数据,如下所示

@if(Session::has('alert'))
<div class="alert">{{ Session::get('alert')}}</div>
@endif

首先,如果您不发送邮件,我们将检查会话是否警报

答案 1 :(得分:0)

  <div class="numberTwo" style="text-align: center;">Number Two : 
  <select id="numberTwo" name="numberTwo" style="width: 200px;">
    <option value="null">-- choose --</option>
    @foreach ($titles as $key => $val)
    @if(Session::has('alert'))
          <option value="{{ Session::get('alert')}}" selected>{{ Session::get('alert')}}</option>
    @else
          <option value="{{ $key }}">{{ $val }}</option>
    @endif      
    @endforeach
  </select>
  </div>

答案 2 :(得分:0)

尝试一下,

第一个计算机转储自动加载

composer dump-autoload

您认为

@if(Session::has('message'))
     <p class="alert {{ Session::get('alert-class', 'alert-info') }}">{{ Session::get('message') }}</p>
@endif

希望这会有所帮助:)