从匿名HTTP.call()获取数据
Get data from anonymous HTTP.call()
我很好奇,是否可以从HTTP.call()函数的匿名调用中检索数据,并将数据放入模板中。到目前为止,我在JS中有以下代码:
Template.weather.onCreated( function() {
this.data = new ReactiveVar(0);
});
Template.weather.helpers({
data: function () {
return Template.instance().data.get();
},
get_data: function() {
HTTP.call('GET', 'http://path.to.server', {}, function(error, result) {
if (error)
console.log(error);
else {
console.log(result.data); // data is received
var tmp = result.data.main); //
return tmp;
}
});
}
});
Template.weather.events({
'click': function(event, template) {
console.log("click");
template.data.set(Template.instance().data.get());
}
});
和模板:
<template name="weather">
<div class="container marketing">
<hr class="featurette-divider">
<div class="row featurette">
<div class="col-md-7">
<h2 class="featurette-heading">Weather</h2>
<p style="background-color:#ccc">{{data}}</p>
</div>
</div>
</div>
但我仍在努力将数据放入模板中。如果有人有任何想法,请与我分享。提前感谢!
是否只加载一次数据?如果是这样,您可能希望将HTTP调用放在onCreated
回调中。
此外,HTTP调用回调中的return语句没有分配给任何内容,因此您永远看不到结果。您可能想将其分配给您的模板data
属性?
这样的事情应该能为你解决这两个问题。
Template.weather.onCreated( function() {
var tmpl = this;
tmpl.data = new ReactiveVar;
HTTP.call('GET', 'http://path.to.server', {}, function(error, result) {
if (error)
console.log(error);
else
tmpl.data.set(result.data);
});
});
Template.weather.helpers({
data: function () {
return Template.instance().data.get();
}
});
我希望这能有所帮助。我不太确定我是否正确理解了你的问题,例如,我不知道你试图用事件处理程序实现什么,但如果没有其他事情,以上可能会让你朝着正确的方向前进。
相关文章:
- Ajax-如何获取数据
- 从键值结构中获取数据,并将其与AngularJS中ng重复的值进行比较
- 从数据库中获取数据并插入JavaScript变量
- 从单击的行上的列中获取数据
- Solr查询以按日期月份获取数据&年
- React路由器服务器端渲染和ajax获取数据
- 使用JavaScript在IE9中获取数据列表选项
- 从json子数组获取数据
- 使用angularjs中的rest调用通过id获取数据
- 正在从ruby应用程序中的数据库中获取数据
- 如何从servlet获取数据到ajax成功
- 从选择下拉菜单中获取数据
- 异步获取数据使用JavaScript同步获取数据
- 从服务器获取数据并在选择控件中使用ng选项无法显示选项
- 如何在Angular.js中循环动态添加Fields并获取数据并将其发送到服务器
- JavaScript-获取数据属性的值返回未定义的值
- 如何从文本区域获取数据并使用javascript进行解密
- 在put方法之前从作用域获取数据
- 事件循环的MEAN.JS setInterval进程(从另一个服务器获取数据)
- 使用ReactJS和Flux架构从服务器获取数据的正确方法是什么