2017-04-08 4 views
0

私は単一のフォームで多くのボタンを持っているので、私は別のボタンクリックイベントで別のメソッドを呼び出すためにajaxを使用しています。しかし、私はajaxを使用してメソッドを呼び出し、ビューを返す、それは応答としてビューのコードを送信し、私はそのビューにリダイレクトする必要があります私のメソッドコードは以下のとおりです。ajaxメソッドは、代わりにビューコードを返すlaravelのビューでリダイレクト

public function store(Request $request) 
{ 
    return view('surat.proceed_sell'); 
} 

ajaxを使用して他のビューにリダイレクトすることはできますか?または、別のボタンクリックイベントで異なるメソッドを呼び出す他の方法は私に知らせてください。

答えて

0

return url('the path');

とあなたのAJAXの成功コールバックであなたが

window.location = data;

としてビューにリダイレクト可能性があるので、あなたのコントローラでの応答としてリダイレクトするURLを返すです

urlは、ビューがレンダリングされるルートファイルで定義する必要があります。

+0

私は 'window.location =" {{route(route.name)}} "+ data"を使って投稿データを渡すことができます – HirenMangukiya

+0

これは投稿ではないでしょう – linktoahref

0

Ajaxが応答を期待しているため、Ajaxを使用してビューにリダイレクトすることはできません。あなたがすべきことは、代わりにアンカーを使ってページにリダイレクトすることです。

まず、そのページに行くボタンでアンカーを使用すると

Route::get('surat/proceed', '[email protected]'); 

あなたのルートを定義します。フォームにいくつのボタンがあるかは関係ありません。タイプがサブミットされていないので、フォームを送信しないでください。

<form method="post" action=""> 
    <a href="/surat/proceed" class="btn btn-default">Go to proceed</a> 
    <button type="submit" class="btn btn-primary">Submit</button> 
</form> 

これはあなたのフォームコードで質問を更新してください。あなたは何ができるか

+0

答えていただきありがとうございますが、それは私の仕事ではありません。 – HirenMangukiya

+0

フォームを表示してください。あなたの答えを更新してください。 – EddyTheDove

+0

私はページのリダイレクト 'window.location'を使用していますが、' window.location'で投稿データを渡すことはできますか? – HirenMangukiya

関連する問題