2016-11-18 23 views
1

私はブレードとjquery.datatablesを使用するビューを持っています。 BDからのデータで表を作成した後、選択した行の値を取得して送信したいとします。 そのために、私はajaxリクエストを使用してjqueryコードを作成しました。Laravelアクションコントローラがajaxリクエストから呼び出されていない

$('#enviar').click(function(e){ 
e.preventDefault(); 

var table = $('#tabelaContactos').DataTable(); 
var rows = $('tr.selected'); 
var rowData = table.rows(rows).data(); 

var dataArr = []; 
$.each($(rowData),function(key,value){ 
    //getting the 3 column 
    dataArr.push(value[2]); 

}); 

$.ajax({ 
    url:'{{ route("criarSms") }}', 
    data: {'dados':dataArr}, 
    type:'GET',  
    success:function(msg) 
    { 
     $("#numeroT").text(msg); 
    } 
}); 

});

その後、コントローラのアクションへの経路を定義しました。これはajaxリクエストに応答します。

Route::get('mensagem/createMessage','[email protected]')->name('criarSms'); 

二つのことは、最初に私のコントローラのアクションが呼び出されていない、ここで起きている、第二の応答は常に同じ図です。

答えて

0

最後に解決されました。 問題はルートの順番に起因していました。

Route :: get( 'mensagem/{id}'、 'MensagemController @ index') - > name( 'envio'); Route :: get( 'mensagem/createMessage'、 'MensagemController @ createMessage') - >名前( 'criarSms');

が、私は同じコントローラ内のindexメソッドへのルートを持っていた、なぜ知らないが、laravelは、私は「envio」の後に定義された「criarSms」と呼んでいても、常にそのルートを使用していましたルート。

注文を変更して作業しています。

Route::get('mensagem/createMessage','[email protected]')->name('criarSms'); 

ルート::( 'mensagem/{ID}'、 'MensagemControllerインデックス@')を取得 - >名前( 'envio')。

関連する問題