Ajax: функция, указанная в маршруте, не вызывается - PullRequest
0 голосов
/ 10 ноября 2019

У меня есть кнопка, которая при нажатии на нее покажет окно подтверждения. Если пользователь нажимает «ОК», слово «достигнуто» будет отображаться внутри div с именем «EventData».

Пока окно подтверждения отображается, когда я нажимаю кнопку, но «EventData» не показываетслово «достигнуто», когда я подтверждаю это.

* «event_id» имеет значение

Я думаю, что проблема в части URL, где она не будет идти в функции

Маршрут:

Route::post('/ArchiveEventPosts','AdminController@ArchiveEventposts')->name('ArchiveEventposts');

Сценарий:

$(document).on('click', '.archive', function() {

    var event_id = $(this).attr('event_id');

    var x = confirm("Are you sure you want to archive this record?");

    if (x) {

        $.ajax({
            method: "POST",
            url: '{{ route("ArchiveEventposts") }}',
            data: {
                event_id: event_id
            },
            success: function(data) {
                $('#EventData').html(data);
                alert('Record Archived');
            }
        });
    }
});

Функция в контроллере:

public function ArchiveEventposts(Request $request)
{
   echo 'Reached';
}

Ответы [ 2 ]

0 голосов
/ 10 ноября 2019

Возможно, вам придется изменить способ назначения маршрута. То, что вы делаете - это присваиваете URL простую строку с одной кавычкой. Попробуйте так:

var archiveEventpostsRoute = "{{ route('ArchiveEventposts') }}";

и ниже

url: archiveEventpostsRoute,

Кроме того, убедитесь, что ваш контроллер возвращает правильные данные, как указано в другом ответе:

public function ArchiveEventposts(Request $request)
{
    return response()->json(["message" => "Reached"]);
}
0 голосов
/ 10 ноября 2019

Ваш метод контроллера не возвращает никаких данных;это просто печать слова "Достигнут".

Вам нужно изменить функцию на что-то вроде этого:

public function ArchiveEventposts(Request $request)
{
    return response()->json(["message" => "Reached"]);
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...