【发布时间】:2014-08-09 14:03:24
【问题描述】:
我正在为一个与学校相关的项目开发一个小型应用程序,但我无法理解我做错了什么。我正在使用 npm-apac 模块(使用meteor-npm),它工作正常(将结果返回到服务器端控制台),但它并没有在客户端做我希望它做的事情。相关代码如下:
Meteor 方法(服务器)
Meteor.startup ->
Meteor.methods
"isbnLookup": (isbn) ->
console.log isbn
opHelper.execute 'ItemLookup',
SearchIndex: 'Books',
ResponseGroup: 'Medium,Images',
IdType: 'ISBN',
ItemId: isbn
, (res) ->
console.log res
return res
Meteor 事件(点击表单提交 ISBN# 的按钮)
Template.addbook.events
'click #isbn-btn': ->
theISBN = $("#isbn").val().trim()
console.log theISBN
Meteor.call 'isbnLookup', theISBN, (err, res) ->
if (err)
console.log(err.reason)
else
console.log 'SUCCESS!'
Session.set('isbnResult', res)
用于从 Meteor.call 中获取结果的模板助手,据说存储在 Session 中
Template.addbook.helpers
amazonSection: ->
Session.get('isbnResult')
调用上述帮助程序的页面部分,我认为它会显示上述帮助程序的(未格式化,json junk)结果:
<div class="col-lg-6">
{{ amazonSection }}
</div>
我真的不知道我做错了什么。我对处理 Meteor.call 的东西有点陌生,而且由于它使用 NPM 模块和其他东西,我认为我正在按照我应该的方式处理回调。当我检查服务器控制台时,console.log 确实是从 Amazon 输出数据,所以我知道 APAC 工作正常,显然我无法将该结果传输到客户端进行显示。
任何帮助将不胜感激。
【问题讨论】:
标签: node.js amazon-web-services meteor