用戶保存行程(從城市到另一個城市),並在將其存儲到mongo集合之前,我的應用必須獲取行程距離和時間來自mapquest api。如何使用從webservice api獲取的數據保存集合中的元素
如何以及在哪裏放置HTTP.call?服務器端 ?客戶端 ?
用戶保存行程(從城市到另一個城市),並在將其存儲到mongo集合之前,我的應用必須獲取行程距離和時間來自mapquest api。如何使用從webservice api獲取的數據保存集合中的元素
如何以及在哪裏放置HTTP.call?服務器端 ?客戶端 ?
安裝HTTP模塊:
流星添加http
創建一個服務器的方法來調用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源代碼,我在客戶端解析它,獲取標題並將其存儲在我的集合中。
http://stackoverflow.com/questions/19251181/meteor-http-get-call – Denis