Laravel动作控制器没有从ajax请求调用

时间:2016-11-18 13:20:13

标签: php jquery ajax laravel-5 datatables

我有一个视图,我使用blade和jquery.datatables。 在使用来自BD的数据填充表格之后,我想获取并发送所选行值。 为此,我使用ajax请求创建了一个jquery代码。

$('#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','MensagemController@createMessage')->name('criarSms');

这里发生了两件事,首先我的控制器动作没有被调用,第二个响应始终是相同的视图。

1 个答案:

答案 0 :(得分:0)

终于解决了。 问题是由于路线的顺序。

  

路线::得到(' mensagem / {ID}',' MensagemController @指数') - >名称(' envio&#39);   路线::得到(' mensagem /的CreateMessage',' MensagemController @的CreateMessage') - >名称(' criarSms&#39);

我在同一个控制器中有一个指向索引方法的路径,不知道为什么但laravel总是使用该路线,即使我打电话给" criarSms &# 34;在" envio "之后定义路由。

我改变了订单并且正在运作。

Route::get('mensagem/createMessage','MensagemController@createMessage')->name('criarSms');
     

路线::得到(' mensagem / {ID}',' MensagemController @指数') - >名称(' envio&#39);