Я пытался сделать запрос к NodeJS API. Для клиента я использую Mithril framework. Я использовал свой первый пример, чтобы сделать запрос и получить данные:Не удается получить содержимое ответа в mithril
var Model = {
getAll: function() {
return m.request({method: "GET", url: "http://localhost:3000/store/all"});
}
};
var Component = {
controller: function() {
var stores = Model.getAll();
alert(stores); // The alert box shows exactly this: function(){return arguments.length&&(a=arguments[0]),a}
alert(stores()); // Alert box: undefined
},
view: function(controller) {
...
}
};
После запуска этого я заметил через Chrome Developer Tools, что API правильно реагирующая со следующим:
[{"name":"Mike"},{"name":"Zeza"}]
Я не могу найти способ получить эти данные в контроллере. Они отметили, что с помощью этого метода, то переменная может содержать undefined
, пока запрос не будет завершен, поэтому я последовал следующий пример, добавив:
var stores = m.prop([]);
Перед модели и изменение запроса:
return m.request({method: "GET", url: "http://localhost:3000/store/all"}).then(stores);
Я мог бы сделать что-то неправильно, потому что получаю тот же результат.
Цель состоит в том, чтобы получить данные от ответа и отправить его на просмотр для повторения.
Обнаружил, что сохранение значения как 'this.records' в контроллере, без возврата также работает. Спасибо за ваш ответ. –