Я использую Vuejs для создания своего внешнего интерфейса для моего проекта.
При создании одного компонента ('TimeCapsy.vue') я выполняю AJAX-вызов моего бэкэнда следующим образом:
created: function () {
if (verify.verify_login()) {
let token = this.$cookies.get('jwt_us_cas');
let params = {'jwt': token};
console.log(params);
axios({
method: 'post',
url: dev.HOST+'getuserinfoobject',
params: queryString.stringify(params)
})
.then(response => {
console.log(response.data)
})
}
}
Как видите, я использую
this.$cookies.get('jwt_us_cas');
для получения веб-токена json, который я установил на клиенте при входе в систему.
Я использую queryString
Библиотека для строковых параметров для моего запроса.
Я также пробовал без вызова queryString.stringify(params)
, но получаю ту же ошибку, например, параметр по-прежнему обнуляется.
Когда я смотрюв журнале консоли, где я проверяю переменную params, я получаю следующий вывод:
{jwt: " мой токен приходит сюда "}
Итак, я вижу,что он получает правильное значение из cookie.
Но когда я проверяю ответ из своего бэкэнда (PHP), я получаю эту ошибку:
Undefined index: jwt in <b>D:\casb\public\index.php</b> on line <b>52</b>
Конечно, я знаю, что это значит, что jwt
равно нулю, но я не могу понять, почему.
Как я уже сказал, перед тем, как позвонить, я проверяю параметры, и они показывают токен.
Я проверил конечную точку с почтальоном и токеном в качестве параметра jwt
, и он возвратил успешный вызов с правильным ответом.
Правильный ответ - это просто вложенный объект с некоторой информацией в нем..
Моя конечная точка PHP также довольно проста:
Router::add('/getuserinfoobject', function () {
$response['response'] = User::getUserInfoObject($_POST['jwt']);
echo json_encode($response);
}, 'post');
Так что я предполагаю, что прямо перед или в моем вызове он обнуляет мой параметр.Но я не могу понять как, так как я делаю много запросов и у меня никогда не было этой проблемы.