Laravel 5.0响应ajax 404即使它成功的ajax请求也能正常工作

时间:2017-06-20 11:10:19

标签: jquery laravel laravel-5

我正在使用laravel 5 和最新的数据表插件jquery

有些ajax请求成功,有些则不是ajax请求,也不成功 是404.Pretty奇怪 我错过了什么吗?

注意: 在ajax 404之后它会破坏会话,当我刷新页面时它会重定向 我登录页面。甚至我在ajax请求中使用数据:'_ token ='

我的控制器方法。

public function all(Request $request) {
    $draw = $request->get('draw');
    $start = $request->get('start');
    $length = $request->get('length');
    $search = (isset($filter['value']))? $filter['value'] : false;
    $total = \App\Job::orderBy('created_at', 'DESC')->get();
    $total_members = count($total); // get your total no of data;

    $data = array(
        'recordsTotal' => $total_members,
        'draw' => $draw,
        'data' => $jobsObj,
        'recordsFiltered' => $total_members,
    );

    echo json_encode($data);
    // return response()->json($data);
}

当响应主体为14,902字节时,它在ajax请求中显示404。 那是为什么?

我的代码

$( document ).ready(function() {

$.fn.dataTable.ext.errMode = 'throw';


 $.ajaxSetup({
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
 });

  // alert( $('meta[name="csrf-token"]').attr('content'));
  var table =  $('#all-member-table').DataTable( {
    "lengthMenu": [ 10, 25, 50, 75, 100,500,1000 ],
    "processing": true,
    "serverSide": true,

    "ajax": {
            url: "/Job/all",
            contentType : 'application/json; charset=utf-8',
            cache : false,
            type  : "GET",
            data:'_token = <?php echo csrf_token() ?>',
            // "data": '_token = ' + $('meta[name="csrf-token"]').attr('content')
            // beforeSend : function(xhr) {
            //      xhr.setRequestHeader('TOKEN', $('meta[name="csrf-token"]').attr('content'));
            // }
        },
        "columns": [
        { data: "job_no" },
        { data: "br" },
        { data: "Customer" },
        { data: "Manifest" },
        { data: "HBL" },
        { data: "created_at" },
        { data: "Status" },
        { data: "Options" }
    ]
});


$('.dataTables_filter input').unbind().keyup(function(e) {
    var value = $(this).val();
    if (value.length>3) {
        table.search(value).draw();
    } else {
        table.search('').draw();
    }
});

});
</script>

0 个答案:

没有答案