两次发布之间在Laravel中出现Ajax发布错误

时间:2018-07-05 02:14:56

标签: ajax laravel post routes

我有两个代码块,它们应该产生相同的结果,但是一个工作并且一个会产生HTTP 500错误。

这是生成错误的代码:

$('.dropify').dropify();
$(document).ready(function() {
    $('#datatable').dataTable({
        processing: true,
        serverSide: true,
        ajax: {
            method: 'POST',
            url : '{{ route('backend.master.jurusan.data') }}',
            headers: {
                'X-CSRF-TOKEN': '{{ csrf_token() }}'
            }
        },

已定义路线:

Route::post('/jurusan/data', 'JurusanController@getData')->name('jurusan.data');

这是完美的作品:

$('.dropify').dropify();
$(document).ready(function() {
    $('#datatable').dataTable({
        processing: true,
        serverSide: true,
        ajax: {
            method: 'POST',
            url : '{{ route('backend.master.brand.data') }}',
            headers: {
                'X-CSRF-TOKEN': '{{ csrf_token() }}'
            }
        },

具有相同路线:

Route::post('/brand/data', 'BrandController@getData')->name('brand.data');

我不明白为什么第一个会产生此错误:

jquery.min.js:4 POST http://localhost/siakad/public/master/jurusan/data 500 (Internal Server Error)

我在这里想念什么?

1 个答案:

答案 0 :(得分:0)

@ C2486

我希望这就是您的意思:(此代码在JurusanController内部)

 public function getData()
{
    checkPermissionTo('view-master-data-list');

    $jurusan = Jurusan::all();

    return Datatables::of($jurusan)
            ->addColumn('action', function($jurusan) {
                $edit = '<a href="'. route('backend.master.jurusan.edit', $jurusan->id) .'" class="btn btn-sm btn-icon text-default tl-tip" data-toggle="tooltip" data-original-title="Edit"><i class="icon wb-edit" aria-hidden="true"></i></a>';
                $delete = '<a class="btn btn-sm btn-icon text-danger tl-tip" data-href="'.route('backend.master.jurusan.destroy',$jurusan->id).'" data-toggle="modal" data-target="#confirm-delete-modal" data-original-title="Delete"><i class="icon wb-trash" aria-hidden="true"></i></a>';

                return $edit.''.$delete;
            })
            ->rawColumns(['action'])
            ->make(true);

我将品牌代码复制粘贴到jurusan中,只是更改路径路径。