Arhn - архитектура программирования

Laravel + Vue. Проблемы с кешированием (на самом деле, просто зарезервированное имя переменной)

Я создаю простое веб-приложение REST API Laravel + Vue.
В компоненте Vue у меня есть метод с запросом api.
Я упростил его, чтобы увидеть суть проблемы:

phpValidate() {

axios
    .post("api/validate", self.programmer)
    .then(function(response) {

        console.log(response.status); 

    });
}

В контроллере у меня есть метод validateIt(), который обрабатывает этот "api/validate" запрос.
Он возвращает:

return array('status' => $status, 'data' => $data);

$status может быть равно 200 или 422, в зависимости от входных данных.

Проблема в том, что с какого-то момента он начал всегда возвращать $status из 200.
Даже если я удалю весь код из метода validateIt() и просто оставлю две строки:

$status = 422;
return array('status' => $status);

Я все еще получаю 200. Если я удалю весь метод в контроллере, он выдаст внутреннюю ошибку сервера 500.
Итак, маршрут и имя функции правильные. Когда кладу обратно, могу писать там что угодно, смысла нет - все равно 200 возвращает!

Если я использую отладчик, я вижу, что в конце метода validateIt() он возвращает 422.
Но когда я получаю ответ в phpValidate(), я снова вижу 200.
Невероятно!

Я пытался:

npm run dev

и

php artisan cache:clear

не помогает!

Также я пытался перезапустить сервер и использовать разные браузеры, не помогает.


Ответы:


1

Собственно, проблема не в кешировании. Похоже, что имя переменной STATUS зарезервировано. Неважно, какое значение вы даете $ status в методе контроллера. Статус $ всегда содержит фактический статус запроса, и вы не можете изменить его вручную. Даже если метод пуст, он вернет статус $ 200, потому что запрос был успешным.

Решение состоит в том, чтобы использовать другое имя переменной для ваших собственных данных.

02.05.2018
Новые материалы

Коллекции публикаций по глубокому обучению
Последние пару месяцев я создавал коллекции последних академических публикаций по различным подполям глубокого обучения в моем блоге https://amundtveit.com - эта публикация дает обзор 25..

Представляем: Pepita
Фреймворк JavaScript с открытым исходным кодом Я знаю, что недостатка в фреймворках JavaScript нет. Но я просто не мог остановиться. Я хотел написать что-то сам, со своими собственными..

Советы по коду Laravel #2
1-) Найти // You can specify the columns you need // in when you use the find method on a model User::find(‘id’, [‘email’,’name’]); // You can increment or decrement // a field in..

Работа с временными рядами спутниковых изображений, часть 3 (аналитика данных)
Анализ временных рядов спутниковых изображений для данных наблюдений за большой Землей (arXiv) Автор: Рольф Симоэс , Жильберто Камара , Жильберто Кейрос , Фелипе Соуза , Педро Р. Андраде ,..

3 способа решить квадратное уравнение (3-й мой любимый) -
1. Методом факторизации — 2. Используя квадратичную формулу — 3. Заполнив квадрат — Давайте поймем это, решив это простое уравнение: Мы пытаемся сделать LHS,..

Создание VR-миров с A-Frame
Виртуальная реальность (и дополненная реальность) стали главными модными терминами в образовательных технологиях. С недорогими VR-гарнитурами, такими как Google Cardboard , и использованием..

Демистификация рекурсии
КОДЕКС Демистификация рекурсии Упрощенная концепция ошеломляющей О чем весь этот шум? Рекурсия, кажется, единственная тема, от которой у каждого начинающего студента-информатика..