У меня есть веб-страница, в которой используется Http-клиент Axios. На моей веб-странице я получаю свое местоположение, используя функцию browser's geolocation. Когда мое местоположение будет получено, я хочу отправить это местоположение вместе с другими данными. Чтобы сделать это, я построил объект данных, как это:Axios - Отправка вложенного объекта JSON
navigator.geolocation.getCurrentPosition(
function(position) {
var data = {
id: 1,
user:'me',
location: position
};
})
;
затем я пытаюсь отправить данные через Аксиос так:
axios.put('/my-endpoint', data, options)
.then(function(res) {
console.log('success');
console.log(res);
})
;
я получаю успешный ответ от этого запроса. Однако это ложный позитив. Когда я смотрю на журналы, это странно. Я вижу, что свойство location
является пустым объектом. Итак, я сделал console.log в браузере, и я вижу, что location
правильно установлен. Но когда я отправляю его через Fiddler, я замечаю, что его там нет. Это просто пустой объект, когда он проходит через провод. Как?
Я подозреваю, что есть какая-то настройка или что-то еще, что я должен сделать, чтобы отправить вложенный объект JavaScript по сети. Но я ничего не вижу. Что я делаю не так? Я сделал базовый JSFiddle here с этим кодом.
переменные данные находятся в области. Он выглядит вне сферы действия из-за того, как я сформулировал вопрос. Но в моем фактическом коде вызов 'axios' происходит сразу после строки' var data'. –
Это только для свойства 'location'? Проходят ли 'user' и' id' в порядке? –
Это только свойство 'location', которое показывает это поведение. 'user' и' id' проходят нормально. –