2017-07-18 22 views
0

私はキューを登録しており、ジョブをディスパッチした後にビューを返したいと思います。私が達成しようとしています何のロジックは次のとおりです。laravelジョブが完了したら表示を戻しますか?

  1. ボタンをクリックします(この方法は、コントローラすることができます)
  2. 派遣ジョブ
  3. リターンロード画面
  4. ジョブが完了すると、ビューを返しますデータ付き。

これはこれまで私が持っていたものであり、リターンビューは動作しません。

これは私のコードです:

public function demoIndex(Request $request){ //Controller 

    $text = $request->input('doc'); 
    dispatch(new Do($text)); 

    return view('demo/loading'); //loading screen 
} 

public function handle() 
{ 
    //queue job 
    ... 

    return view('demo/admin', ['search' => $search]); //returning view (not working) 
} 
+0

は、あなたがそれを行うには何を期待していますか?キューハンドラは実際にはビューを返すことはできません。 – ceejayoz

+1

ジョブからビューを返すことはできません。ジョブをディスパッチして、ジョブが終了したらジョブをスローしてフロントエンドでそのイベントを待ち受けることができます(これはブロードキャストの設定が必要です)。または、ジョブに「完了」タグを設定し、ajaxを使用してロード中の画面からステータスを定期的にチェックすることもできます。 – jfadich

答えて

0

あなたが仕事ではJavaScriptが缶や負荷データやリダイレクトしてTEフロントエンドでTEイベントをキャッチするために行われ、laravelエコーの使用よりもされたときにイベントを発生する必要があります他のページへ

これらのリンクにしているアルOOK:

関連する問題