2015-04-05 93 views
0

我是Meteor的新手,無法嘗試發出HTTP GET請求。我正在關注一個通過HTTP請求的教程,我幾乎將它跟在T上,但是當我導航到頁面時,似乎沒有任何內容顯示。我已經添加了流星HTTP,但仍然在我的client.js文件的功能似乎並沒有被解僱。當我用瀏覽器導航到NYT時,我可以看到JSON,但在我的頁面上沒有任何內容。與流星HTTP呼叫相關的問題

在我的客戶端文件夾,這是我的Home.html:

<template name="home"> 
<div class="page-header"> 
<h1>Home</h1> 
You are home! 
<select class="news"> 
    <option>sports</option> 
    <option>politics</option> 
    <option>business</option> 
</select> 
    <h1>news:<small>{{currentnews}}</small></h1> 
</div> 
</template> 

這裏是home.js:

Template.layout.currentnews = function(){ 
var news = Session.get('news'); 
Meteor.call('getNews',news,function(err, results){ 
console.log(results.content); 
console.log('hello from currentnews function'); 
Session.set('news', JSON.parse(results.content)); 
}); 
return Session.get('news'); 
}; 

,最後這裏是服務器文件夾內的server.js:

Meteor.methods({ 
'getNews':function(subject){ 
return Meteor.http.call('GET', 'http://api.nytimes.com/svc/search/v2/articlesearch.json?callback=svc_search_v2_articlesearch&q='+subject+'&begin_date=20150402&end_date=20150402&sort=newest&api-key=[apikeyhere]'); 
} 
}) 

回答

0

您確定您的模板名稱正確嗎?你的例子對我來說沒有多大意義。

Template.layout.currentnews看起來不對......。

您的模板被稱爲home嗎?

儘量把你的代碼中

Template.home.rendered = function(){ 
     Meteor.call('getNews',news,function(err, results){ 
     console.log(results.content); 
     console.log('hello from currentnews function'); 
     Session.set('news', JSON.parse(results.content)); 
     }); 
    }; 


Template.home.helpers({ 
    currentnews: function() 
    { 
     return Session.get('news');  
    } 
}); 

您可能需要修正關閉。

+0

對不起,我輸錯了。我打算在服務器文件夾內寫入server.js。我剛剛編輯了這個問題來反映這一點。 – Weeks 2015-04-05 04:39:27

+0

謝謝你的幫助。我有錯誤的模板名稱。我對Meteor中組織文件的方式仍然陌生。 – Weeks 2015-04-05 15:55:15