Meteor-如何在Helper中获取当前访问者的IP地址
我尝试使用这种方法,但是没有定义clientIpAddress变量的值Meteor-如何在Helper中获取当前访问者的IP地址,meteor,Meteor,我尝试使用这种方法,但是没有定义clientIpAddress变量的值 Meteor.methods({ getClientIpAddress: function () { return this.connection.clientAddress; } }); Template.home.helpers({ starsAlreadyReceivedFromIpAddress: function () { var clientIpAddre
Meteor.methods({
getClientIpAddress: function () {
return this.connection.clientAddress;
}
});
Template.home.helpers({
starsAlreadyReceivedFromIpAddress: function () {
var clientIpAddress;
Meteor.call("getClientIpAddress", function(err, ipAddress) {
clientIpAddress = ipAddress;
});
console.log(clientIpAddress);
....
}
});
如果有人能在这方面帮助我,我将不胜感激 查看
用户状态
包
这将为您提供
Meteor.user().status.lastLogin.ipAddr
,您可以在助手中使用它(首先确保该字段已发布)。您的答案非常有效。谢谢你快速准确的回复。事实上,杰里米,我有个问题。。。除非用户登录,否则该代码不起作用。我正在使用帐户密码包。对于已登录的用户,我会获得ip地址,但对于未登录的访问者,我不会获得ip地址。你能帮我吗……啊,我明白了。对不起,我对用户和访问者的区别不敏感。实际上,从服务器返回this.connection.clientAddress的方法是正确的。但是,您不应该从帮助器调用该方法。从助手使用Meteor.call是一种不好的模式,但另外,在您的情况下,它将异步运行,但在结果返回后不会重新运行,因为它不是反应数据源。取而代之的是,从代码中的其他地方(在执行操作之前在路由器中)进行调用,并将结果保存到可以在助手中访问的变量中。好的,这听起来是一个不错的解决方案。我会实施的。非常感谢您回复我的评论,并为我提供了解决问题的积极方向。