Как исправить проблему ajax: 500 Внутренняя ошибка сервера в laravel? - PullRequest
0 голосов
/ 28 июня 2019

Я попытался с помощью ajax извлечь мои данные из базы данных и отобразить их в моем блейде, не обновляя их, но когда я применил те же шаги для извлечения других данных для другого блейда, я получаю эту ошибку:

POST http://localhost:8000/barangay/fetch 500 (Внутренняя ошибка сервера) jquery-3.3.1.js: 9600.

Вот код, который необходимо исправить:

Это мойлезвие:

enter image description here

Вот мой сценарий ajax:

enter image description here

Вот мой роутер для получения barangays, которые принадлежали выбранному городу:

enter image description here

Вот мой код в моем контроллере для получения данных:

enter image description here

и здесь здесь вывод ( ошибка: ничего не возвращается ): enter image description here

Ответы [ 2 ]

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

В дополнение к проверке токена CSRF в качестве параметра POST, промежуточное ПО VerifyCsrfToken также проверяет заголовок запроса X-CSRF-TOKEN. Например, вы можете сохранить токен в теге HTML meta:

<meta name="csrf-token" content="{{ csrf_token() }}">

Затем, после создания тега meta, вы можете дать указание библиотеке, например jQuery, автоматически добавлять токен во все заголовки запроса. Это обеспечивает простую и удобную защиту CSRF для ваших приложений на основе AJAX:

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

По умолчанию файл resources/js/bootstrap.js регистрирует значение метатега csrf-token с HTTP-библиотекой Axios. Если ты не используя эту библиотеку, вам нужно будет вручную настроить это поведение для вашего приложения.

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

Laravel использует токен CSRF в пост-запросе, поэтому вам необходимо добавить заголовок в ваш ajax-запрос примерно так:

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

для более подробной информации вы можете использовать https://laravel.com/docs/5.8/csrf

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