Axios не может расспарсить JSON

140
22 января 2020, 05:10

Работаю на VueJs с подключением Axios. Не расспарсивает пришедшую с сервера JSON. Формирую JSON строку на PHP из массива с помощью:

$response['status'] = null;
$response['status'] = "Error";
echo json_encode($response);

Код JS

axios({
                method: 'POST',
                headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
                url: '../modules/autorisation.php',
                data: {
                    login: this.login,
                    password: this.password
                }
            })
            .then(function(response){
                console.log(response['data']);
                // console.log(JSON.parse(response['data']));
            })
            .catch(function(error){
                console.log(error);
            });

Выводит JSON строку ( {"status":"Error"} ), хотя обычно Axios обычно распарсивает всё самостоятельно. Если пытаюсь расспарсить в ручную, то появляется ошибка, что в json строке ошибка в первом символе.

Answer 1

Попробуйте явно указать тип возвращаемого контента через HTTP заголовок Content-Type:

$response['status'] = "Error";
header('Content-Type: application/json');
echo json_encode($response);

И указать тип принимаемых данных на стороне клиента с помощью параметра responseType:

axios({
    method: 'POST',
    headers: { 'Content-Type': 'application/x-www-form-urlencoded' },
    url: '../modules/autorisation.php',
    data: {
        login: this.login,
        password: this.password
    },
    responseType: 'json'
})
READ ALSO
Явная копия в copy-and-swap

Явная копия в copy-and-swap

Смотрю в википедии на описание copy-and-swap и его же в отдельной статье:

160
Up вектор в реализации камеры

Up вектор в реализации камеры

В примере к видовой матрице указано:

170
Строки вводятся не ожидаемым образом

Строки вводятся не ожидаемым образом

У меня есть код, в котором я ввожу число N, а потом просто ввожу в цикле по N строки, состоящие из пробелов, цифр, скобок и дефисовПотом я хочу...

139
c++ различие операторов?

c++ различие операторов?

Подскажите, чем отличаются данные фрагменты кода

153