laravel, ajax не работает в производственном режиме Запрошенный URL / назначение / 45 / edit не найден на этом сервере - PullRequest
1 голос
/ 02 июня 2019

Я пытаюсь обновить данные с помощью ajax и сделать так, чтобы они работали локально, но в производственной среде мне выдается ошибка (Запрошенный URL / назначение / 45 / правка не найден на этом сервере)

Я использую ajax, laravel 5.7

    $(document).on('click', '.edit', function() {
        id = $(this).attr('id');
        $.ajax({
             url: "/appointment/" + id + "/edit",
            dataType: "json",
            success: function(html) {
                $('#name').val(html.data.name);
                $('#appdate').val(html.data.appdate);
                $('.modal-title').text("Edit Appointment");
                $('#action_button').val("Edit");
                $('#action').val("Edit");
                $('#modal-default').modal('show');
            }
        })
    });



route
Route::resource('appointment','AppointmentController');



controller
    public function edit($id)
    {
        if(request()->ajax())
        {
            $data = Appointment::findOrFail($id);
            return response()->json(['data' => $data]);
        }
    }

Запрошенный URL / назначение / 45 / edit не найден на этом сервере

Я пытаюсь обновить данные с помощью ajax и проверять их работоспособность на локальном компьютере, но в производственной среде выдает ошибку (запрошенный URL / назначение / 45 / edit не найден на этом сервере)

Ответы [ 2 ]

0 голосов
/ 03 июня 2019

В js:

$(document).on('click', '.edit', function() {
    var baseurl = window.location.protocol + "//" + window.location.host;

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

    id = $(this).attr('id');

    $.ajax({
        url: baseurl + "/appointment/" + id + "/edit",
        type: 'get',
        dataType: "json",
        cache: false,
        success: function(response) {
            $('#name').val(response.data.name);
            $('#appdate').val(response.data.appdate);
            $('.modal-title').text("Edit Appointment");
            $('#action_button').val("Edit");
            $('#action').val("Edit");
            $('#modal-default').modal('show');
        }
    })
});

В файле маршрута (web.php)

Route::resource('appointment','AppointmentController');

В контроллере:

    public function edit($id)
    {     
         $data = Appointment::findOrFail($id);
         return response()->json(['data' => $data]);
    }
0 голосов
/ 02 июня 2019

В вызове ajax используйте именованный маршрут, например

URL: '{{маршрут (' route.name ')}}'

А также добавить тип вызова ajax

введите: 'post' или введите: 'get'

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...