所以我想做的是发出一个 HTTP 获取请求,然后用响应更新一个视图。由于某种原因,它不起作用。这就是我所拥有的。
我一直在关注这个要点:https ://gist.github.com/3443021
在客户端:
Template.search.items = function() {
var query = Session.get("query");
console.log(query);
var resp;
Meteor.call("search", query, function(err, res) {
console.log(res);
//return res;
return [1,2,4];
});
};
在服务器上:
Meteor.methods({
search: function(query) {
var fut = new Future();
// var onComplete = fut.resolver();
Meteor.http.get("http://localhost:4242/autocomplete/"+query, function(err, res) {
var content = res.content;
var resp = JSON.parse(content);
console.log(resp);
fut.ret(resp)
});
return fut.wait();
}
});
在我正在做的观点上:
<template name="search">
<h1>test</h1>
<table class="table table-hover">
<tbody>
{{#each items}}
{{> searchItem}}
{{/each}}
</tbody>
如果我从 Meteor.call 函数内部返回,似乎没有任何东西被发送到视图。有任何想法吗?