我想按照這個線索在這裏:當這樣做 How can one parse HTML server-side with Meteor?使用Node JS Cheerio模塊進行刮取時存在服務器端問題?
不幸的是,我得到了以下錯誤:
Uncaught Error: Can't make a blocking HTTP call from the client; callback required.
這裏是我的項目的JavaScript代碼:
var cheerio;
if (Meteor.isClient) {
Template.entry.events = {
'click .btn_scrape' : function() {
$ = cheerio.load(Meteor.http.get("https://github.com/meteor/meteor").content);
console.log($('.commit-title').text().trim());
},
}
}
if (Meteor.isServer) {
Meteor.startup(function() {
var require = __meteor_bootstrap__.require;
cheerio = __meteor_bootstrap__.require('cheerio');
});
}
如果我把代碼放在Meteor.startup(function()中...沒有任何反應,那麼就沒有錯誤,並且沒有任何東西被記錄到控制檯。
我希望能夠在點擊一個按鈕來獲取文本框中的內容並拖動它時調用一個函數,但是當我得到代碼工作後,我可以稍後再做。
難道有人偶然知道如何解決這個問題嗎?
謝謝你的時間,
喬納森。
謝謝!我能夠解決這個問題 – yonatano 2013-03-08 17:52:31