Данные ответа Axios всегда задаются как пустая строка в laravel - PullRequest
0 голосов
/ 14 ноября 2018

У меня странная проблема с axios, которой у меня никогда не было, любой возвращенный ответ от внутреннего интерфейса laravel к внешнему интерфейсу vue пуст ..

return response()->json(['message' => 'Success!']);

Эта строка сразу послеСообщение отредактировано ...

Я также попробовал:

return response(['message' => 'Success!']);
return ['message' => 'Success!'];

И когда я console.log() ответ:

axios.post(url).then((response)=>{
    console.log(response);
});

Я получаю все об ответе и данных какпустая строка, у меня эта проблема в Laravel 5.7, где в 5.6 работает нормально ...

1 Ответ

0 голосов
/ 20 мая 2019

В своем клинке убедитесь, что в голове csrf_token

xyz.blade.php

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

Из Vue или React: Убедитесь, что ваш метод правильный, получить, опубликовать, удалить, поместить в файл маршрутов (web.php или что-то еще)

axios.post('/some/url', {
           post_param_a : 1, 
            post_param_b : 2
         }).then(response => {
              //your value should be in response.data object
              console.log(response.data.message)
            })
            .catch(function (error) {
                console.log(error);
            });

Внутренний контроллер:

public function methodName(){
    return response()->json(['message' => 'Success!']);
}

В качестве альтернативы вы также можете отладить Щелкните правой кнопкой мыши на браузере >> Проверить >> вкладка Сеть >> См. Скриншот.

enter image description here

Вы также можете dd($response) свой ответ и просмотреть в инспекторе в разделе ответов

...