2017-01-02 14 views
0

ajaxリクエストの後にリダイレクトするとビューが返されません。ajaxリクエストの後でビューをリダイレクトするか、リダイレクトする

私はリクエストを検証しようとしましたが、リクエストがOKであればビューを返しますが、これは動作しません。新しいルートにリダイレクトしようとしましたが、動作しません。

public function searchActivity(Request $request){ 

    $validator = Validator::make($request->all(), [ 
     'search' => 'required', 
     'date' => 'required_with:search|required|date|date_format:d-m-y|after:yesterday' 
    ]); 

    if ($validator->fails()){ 

     return response()->json([ 
      'sucess' => false, 
      'errors' => $validator->errors()->toArray(), 
      'data' => $request->all() 
     ]); 
    }else{ 

$queries = DB::table('activities')->where('name', $request->search)->orWhere('City', $request->search)->paginate(1); 

     return redirect()->route('ActivitiesResults', ['results' => $queries]); 
    } 

JSコード:助けを

function selectDate(){ 
    $(document).ready(function() { 
     $("#datepicker").datepicker({ dateFormat: 'dd-mm-yy' }); 
    }); 
} 

function searchActivity(event) { 
    event.preventDefault(); 

    console.log(event); 
    $.ajax({ 
     type: 'POST', 
     url: searchRoute, 
     data: { 
      search: $('.search').val(), 
      date: $('#datepicker').val(), 
      _token: $('#token').val() 
     }, 

     dataType : "json", 

     success: function (data) { 
      if (data.success){ 

       console.log(data) 

      }else{ 
       console.log(data.errors); 

      } 
     } 
    }) 
} 

おかげ

これは私のコントローラです!

+0

のようなあなたのAjaxコードがある

if ($validator->fails()){ return response()->json([ 'sucess' => false, 'errors' => $validator->errors()->toArray(), 'data' => $request->all() ]); }else{ return response()->json([ 'sucess' => true, 'what_you_want' => '' ]); } 

変更を変更する必要がありますが、AJAXを使用しているので、私は可能性がありますあなたのJSで 'window.open(" URL "、" _ self ");を使ってみることをお勧めします。 –

答えて

0

header("url)またはwindow.location.href="url"をご利用ください。

+0

あなたはどのように私を見せてくれますか? –

2

は、あなたのPHPコードあなたがPHPでリダイレクトされているので、私が思うに、この

success: function (data) { 
     if (data.success){ 

      //console.log(data) 
     window.location.replace("http://stackoverflow.com"); 

     }else{ 
      console.log(data.errors); 
      window.location.replace("http://google.com"); 
     } 
    } 
+0

別のビューに$ requestの値を表示したい場合は、PHPコード内で別のものを置く必要がありますか? –

+0

あなたの質問を編集する.. ..? –

+0

私は新しい検索結果を返したいと思います。私はすでにコードを編集しました。 –

関連する問題