2013-10-10 20 views

回答

1
  1. 安裝HTTP模塊:

    流星添加http

  2. 創建一個服務器的方法來調用Web服務。這裏是我的例子,用戶把URL和代碼返回頁面的標題。

Server代碼:

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}); 
      }); 
     } 
     } 
    } 
}); 

如果用戶按在#加載書籤場 「輸入」,我得到的字段值並將其傳遞給服務器方法。服務器方法返回頁面HTML源代碼,我在客戶端解析它,獲取標題並將其存儲在我的集合中。

+0

謝謝,我現在有這樣的工作。但現在我想要更安全的東西。在你的例子中,有一種方法可以做 bookmarks.insert({URL:url,tags:[「empty」]}) 並讓服務器完成Name和Timestamp的工作嗎? – jadus

+0

不,我的代碼無法做到。 – demas

相關問題