2016-03-24 20 views
0

私はルートを投稿し、返されたデータを記録したいと思います。しかし、それはデータが現在のページhtmlを返すようです。事前にjQuery投稿返信ページソース(laravel)

JS

$(document).ready(function(){ 
    $('#approvalButtonID').click(function(){ 
     $.when(
      $.post("myRoute", function(data){ 
       console.log(data); 
      }) 
     ).then(function(){ 
      //location.reload(); 
     }); 
    }); 
}); 

Route::post('myRoute', array(
    'as' => 'myRoute', 
    'uses' => '[email protected]' 
)); 

mycontroller.php

public function myFunction(){ 
    return 'KyloRenIsAKiller'; 
} 

routes.phpのおかげ。

+0

あなたにconsole.log()はエラーがスローされます? –

+0

Laravelのどのバージョンを使用していますか? –

+0

@Jorge Mejiaコンソールログは現在のページhtmlを返します。エラーは返されません。私はlaravel 4.2を使用しています。 –

答えて

1

jQuery .clickハンドラの後に通常のHTML送信が行われている可能性があります。したがって、フォームPOSTは、アクションが指定されていない場合は、現在のページにポストします。これは、現在の同じページを返すだけで、あなたが見ているものを説明します。追加

試してみてください。

$('#approvalButtonID').click(function(e){ 
    e.preventDefault(); 
    // ... rest of your code 
+0

アイデアに感謝しますが、それは私の問題を解決しません。 –

+0

開発ツールは何を示していますか?POSTは実際にはmyRouteですか、現在のページですか?コンソールにエラーがありますか? '$ .when'と' $ .then'を削除して、可能な限り単純なケースを見つけてください。 –

+0

POSTはmyRouteに届かない。コンソール上でエラーがスローされません。現在のページのちょうどhtml出力。 $ .whenと$ .thenを削除し、$ .thenを.done()に置き換えても。実際には、jQueryを使用せずに問題を解決しましたが、本当の問題が何であるかを知ることは良いことです。それに取り組む。 –

関連する問題