【问题标题】:Laravel action controller not being called from ajax request没有从 ajax 请求调用 Laravel 动作控制器
【发布时间】:2016-11-18 13:20:12
【问题描述】:

我有一个使用刀片和 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');

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

【问题讨论】:

    标签: php jquery ajax laravel-5 datatables


    【解决方案1】:

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

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

    我在同一个控制器中有一个到 index 方法的路由,不知道为什么,但是 laravel 总是使用那个路由,即使我调用了在“criarSms” >envio”路线。

    我更改了订单并且正在工作。

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

    Route::get('mensagem/{id}','MensagemController@index')->name('envio');

    【讨论】:

      猜你喜欢
      • 2020-08-06
      • 2017-02-26
      • 2015-03-04
      • 2013-12-09
      • 1970-01-01
      • 2014-08-03
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      相关资源
      最近更新 更多