在我的智慧结束时。
我试图达到的目标看起来像这样:
og:image
属性的相应网址
我可以找到我在服务器上寻找的属性console.log
,但我很难将其传递给客户端,然后传递给视图。谁能告诉我我做错了什么?
//-----------
//Client code
//-----------
Template.postShow.helpers({
postImage: (url) ->
Meteor.call "getRemoteImage", url, (err, result) ->
if err
// logs nothing
console.log err
else
// logs nothing
console.log result
// sets nothing
Session.set "myData", result
theImage: () ->
return Session.get "myData"
})
//------------
//Server Code:
//------------
function getArticleImage(url, callback){
return Meteor.http.get(url, function(err, data){
if (err){
return err
}
else{
$ = cheerio.load(data.content)
imgURL = $("meta[property='og:image']").attr('content')
//logs what I'm looking for
console.log("server: ", imgURL)
return imgURL
}
})
}
var getArticleImageSync = Meteor.wrapAsync(getArticleImage)
Meteor.methods({
getRemoteImage: function(url){
var result = getArticleImageSync(url)
return result
}
})
//--------------
// Template Code
//--------------
<template name="postShow">
<!-- the postImage function doesnt put anything in the view on it's own. it works in concert with the theImage function -->
{{postImage url}}
<p>{{theImage}}</p>
</template>