0
我的应用程序面板上有一个按钮,显示“访问电子学习门户”。meteor方法返回外部网址,如何链接到客户端的外部网址
单击该按钮会调用Meteor.method查询电子学习门户API以接收访问链接(单点登录)。
我有这个工作正常。
我不能解决的是如何将该链接从服务器发送到客户端,以便我可以将它们重定向到它。我只是无法围绕同步,异步,回调等方式将我的头包裹起来。我不明白为什么该方法不会将客户端的结果发送给客户端。我的结果是从用户的角度看未定义
SO:点击按钮 - >在线学习门户网站在新标签页(或同一选项卡等等)
但从应用角度打开:点击按钮 - >模板。事件 - > meteor.call - >运行服务器的方法 - >获取URL(我已经成功了这么远) - >发送用户检索的网址(例如)http://www.google.com
这里是我的代码:
事件:
Template.dashboard.events({
'click #lmsAccess': function(e, t) {
e.preventDefault();
Meteor.call('lmsLink', function(error, result) {
if(error) {
console.log(error.reason);
return;
}
console.log(result); //returns as undefined
});
}
});
方法
if (Meteor.isServer) {
Meteor.methods({
'lmsLink': function() {
//removed all my irrelevant variables from here for stack question
HTTP.call(verb, 'http://sandbox.wceaapi.org/'+ endPoint, {
headers: {
"Request-Time": timeStamp,
"Api-Key": key,
"Signature": hash
}
}, function(error, response) {
if (error) {
console.log(error);
} else {
console.log(response);
var result = JSON.parse(response.content);
var accessLink = result.records.accessLink;
console.log(accessLink);
return accessLink;
}
});
}// end lmsLink
});//end method
}
嗨,感谢您的回复。这肯定有助于我的下一步,但我也许应该澄清,尽管我的服务器控制台正在记录accessLink,但我无法弄清楚如何从服务器到客户端。将更新原始问题 – Sean
嗯,这不是100%确定的,但我认为你必须使用这里描述的模式:https://www.discovermeteor.com/patterns/5828399 – kiewietr
嘿,我设法得到期货工作,现在都在工作。 感谢您的帮助 – Sean