Web services 如何显示Meteor.HTTP.Get的结果

Web services 如何显示Meteor.HTTP.Get的结果,web-services,meteor,foursquare,Web Services,Meteor,Foursquare,编辑:现在开始工作了。诀窍是将HTTP.get移动到服务器端,并使用simple:reactive方法包从方法中获取结果 我需要一些帮助来弄清楚如何显示结果。文档很粗略,这里没有与我的案例相关的主题 我要在你们周围找到当地的农民和市场。然后将结果显示在地图中尚未显示地图。代码如下: 起始页: 即将发布的地图页面。编辑日期:2015年3月31日 {{每个场馆} {{name}}。{{location.lat},{{location.lng} {{/每个}} 路由库/router.js Router

编辑:现在开始工作了。诀窍是将HTTP.get移动到服务器端,并使用simple:reactive方法包从方法中获取结果

我需要一些帮助来弄清楚如何显示结果。文档很粗略,这里没有与我的案例相关的主题

我要在你们周围找到当地的农民和市场。然后将结果显示在地图中尚未显示地图。代码如下:

起始页:

即将发布的地图页面。编辑日期:2015年3月31日

{{每个场馆} {{name}}。{{location.lat},{{location.lng}

{{/每个}} 路由库/router.js

Router.route'/locator',{name:'locator'}; Router.route'/locator/map',{name:'locatorMap'}; 助手客户端/locator/locator.js。编辑日期:2015年3月31日

//场馆类别的静态列表 Foursquare.categoryId={…}; Template.locatorMap.helpers{ 场地:功能{ var search_group=Router.current.params.query.group; var search_categories=Foursquare.categoryId[search_group]。加入','; var search_location=Geolocation.latLng; 如果搜索你的位置{ //使用简单:反应法 返回ReactiveMethod。调用'FoursquareSearch',搜索类别,搜索位置; }否则{ 抛出新流星。错误无位置,无法获取。。。; } } }; 方法服务器/methods/foursquare.js。编辑日期:2015年3月31日

流星法{ FoursquareSearch:功能类别、位置{ 检查类别、字符串; 检查位置、对象; 试一试{ var search_result=HTTP.call “得到”https://api.foursquare.com/v2/venues/search?', { 超时:5000, 参数:{…} } ; 返回搜索结果.数据.响应.场地; }捕捉错误{ 抛出新Meteor.ErrorNo结果,无法获取。。。; } } }; 我可以在控制台上看到数据。但我只是不知道如何将其传递到模板助手中。如果你们需要更多的信息,请告诉我


感谢您的帮助。谢谢

问题其实只是:如何从助手调用方法?答案是肯定的。然而,为了使这些解决方案能够工作,您需要您的方法返回一个值,而不是进行一个返回未定义值的异步HTTP调用。阻力最小的方法是只在服务器上定义FoursquareSearch方法,将其放在/server目录下,并使用同步方法调用。例如:

流星法{ FoursquareSearch:functioncat{ 支票猫,字符串; var search_location=Geolocation.latLng; 如果搜索你的位置{ 试一试{ //在此处的空白处填入参数、超时等。 var result=HTTP.get。。。; 返回result.data.response; }捕捉错误{ 抛出新Meteor.ErrorNo结果,无法获取。。。; } } } };
问题其实只是:如何从助手调用方法?答案是肯定的。然而,为了使这些解决方案能够工作,您需要您的方法返回一个值,而不是进行一个返回未定义值的异步HTTP调用。阻力最小的方法是只在服务器上定义FoursquareSearch方法,将其放在/server目录下,并使用同步方法调用。例如:

流星法{ FoursquareSearch:functioncat{ 支票猫,字符串; var search_location=Geolocation.latLng; 如果搜索你的位置{ 试一试{ //在此处的空白处填入参数、超时等。 var result=HTTP.get。。。; 返回result.data.response; }捕捉错误{ 抛出新Meteor.ErrorNo结果,无法获取。。。; } } } };
将搜索转化为一种方法,并按照建议进行操作。我已经修改了该方法和助手。你能再看看吗?Meteor.http.get now的回调抛出了一个未定义的。将搜索转换为方法并遵循建议。我已经修改了方法和助手。你能再看看吗?来自Meteor.http.get now的回调抛出了一个未定义的错误。这很有效!谢谢!有一点需要注意的是,我忘记了Geolocation包在服务器端不起作用。所以我必须把它移到助手那里。这很有效!谢谢!有一点需要注意的是,我忘记了Geolocation包在服务器端不起作用。所以我必须把它移到助手那里。