Я хочу привязать некоторые данные к переменной по команде (нажатием кнопки) с сервера.На сервере у меня есть функция, которая возвращает объект JSON (это было проверено, если я открываю ссылку API напрямую, я получаю правильный формат JSON).Тем не менее, переменная остается неопределенной, что бы я ни делал.У меня есть кнопка и таблица (px-data-table
является частью структуры и должна иметь возможность отображать данные в формате JSON):
<button id="runPredictionButton">
<i>Button text</i>
</button>
<px-data-table
table-data$="{{data}}"
</px-data-table>
<div class="output"></div>
И я обрабатываю нажатие кнопки и определяю переменные следующим образом:
<script>
Polymer({
is: 'custom-view',
properties: {
data: {
type: Object,
notify: true
}
},
ready: function() {
var self = this;
this.$.runPredictionButton.addEventListener('click', function() {
filerootdiv.querySelector('.output').innerHTML = 'Is here';
var xhr = new XMLHttpRequest();
this.data = xhr.open("GET", "API/predict") //as mentioned, API/predict returns a valid JSON
console.log("This data is:" + this.data);
this.data = xhr1.send("API/predict","_self")
console.log("This data is_:" + this.data);
});
}
});
</script>
По какой-то причине на консоли this.data
отображается как undefined
, оба раза я пытаюсь его распечатать.Чего мне не хватает?Как передать JSON из вызова API в переменную this.data
?