Meteor 如何使用从webservice api获取的数据保存集合中的元素

Meteor 如何使用从webservice api获取的数据保存集合中的元素,meteor,Meteor,用户保存行程(从一个城市到另一个城市),在将其存储到mongo集合之前,我的应用程序必须从mapquest api获取行程距离和时间 您将如何以及在何处放置HTTP.call?服务器端?客户端 安装http模块: 流星添加http 创建一个服务器方法来调用web服务。下面是我的示例,其中用户放置URL,代码返回页面标题 服务器代码: if (Meteor.isServer) { Meteor.startup(function () { // code to run on server

用户保存行程(从一个城市到另一个城市),在将其存储到mongo集合之前,我的应用程序必须从mapquest api获取行程距离和时间

您将如何以及在何处放置HTTP.call?服务器端?客户端

  • 安装http模块:

    流星添加http

  • 创建一个服务器方法来调用web服务。下面是我的示例,其中用户放置URL,代码返回页面标题

  • 服务器代码:

    if (Meteor.isServer) {
      Meteor.startup(function () {
        // code to run on server at startup
    
        Meteor.methods({
          getTitle: function(url) {
            var response = Meteor.http.call("GET", url);
            return response;
          }
        });
    
    这是一个客户端代码:

    Template.new_bookmark.events({
    
        // add new bookmark
        'keyup #add-bookmark' : function(e,t) {      
          if(e.which === 13)
          {
            var url = String(e.target.value || "");
    
            if(url) {
              Meteor.call("getTitle", url, function(err, response) {
                var url_title = response.content.match(/<title[^>]*>([^<]+)<\/title>/)[1];
                var timestamp = new Date().getTime();
                bookmarks.insert({Name:url_title,URL:url,tags:["empty"], Timestamp: timestamp});
              });
            }
          }
        }
    });
    
    Template.new\u bookmark.events({
    //添加新书签
    'keyup#addbookmark':函数(e,t){
    如果(e.which==13)
    {
    var url=String(e.target.value | |“”);
    如果(url){
    Meteor.call(“getTitle”、url、函数(err、response){
    
    var url_title=response.content.match(/]*>)([^谢谢,我现在有类似的东西在工作。但是现在我想要更安全的东西。在您的示例中,是否有一种方法可以做书签。插入({url:url,tags:[“empty”]})并让服务器完成名称和时间戳的工作?