获取Meteor方法以返回函数?
我想定义一个服务器端Meteor方法,当调用该方法时,它将在客户端上运行函数 下面的超简单示例-我希望此方法获取一个参数,调用时将在客户端控制台上运行获取Meteor方法以返回函数?,meteor,Meteor,我想定义一个服务器端Meteor方法,当调用该方法时,它将在客户端上运行函数 下面的超简单示例-我希望此方法获取一个参数,调用时将在客户端控制台上运行console.log(parameter) Meteor.methods({ consoleLogOnClient: function(text){ var log = function(){ console.log(text); }; return log();
console.log(parameter)
Meteor.methods({
consoleLogOnClient: function(text){
var log = function(){
console.log(text);
};
return log();
}
});
但当我这样做的时候:
Meteor.call('consoleLogOnClient', 'THIS MESSAGE SHOULD APPEAR ON THE CLIENT CONSOLE');
该消息将记录在服务器控制台中,而客户端控制台中不会显示任何内容
好吧,很公平。也许我只需要返回函数代码本身并将其存储在变量中,然后运行它。但它也不起作用
Meteor.methods({
consoleLogOnClient: function(text){
var log = function(){
console.log(text);
};
return log;
}
});
var myFunction = Meteor.call('consoleLogOnClient', 'THIS MESSAGE SHOULD APPEAR ON THE CLIENT CONSOLE');
myFunction();
它们应该返回一个EJSON可调用的值或引发异常
埃克森:
因此,答案是不能将函数从服务器发送到客户端,因为函数不是EJSON值。但你真正的问题可能是你想发送一个函数;我无法想象你为什么要那样做。改为发送数据。
它们应该返回一个EJSON可调用的值或引发异常
埃克森:
因此,答案是不能将函数从服务器发送到客户端,因为函数不是EJSON值。但你真正的问题可能是你想发送一个函数;我无法想象你为什么要那样做。改为发送数据。
它们应该返回一个EJSON可调用的值或引发异常
埃克森:
因此,答案是不能将函数从服务器发送到客户端,因为函数不是EJSON值。但你真正的问题可能是你想发送一个函数;我无法想象你为什么要那样做。改为发送数据。
它们应该返回一个EJSON可调用的值或引发异常
埃克森:
因此,答案是不能将函数从服务器发送到客户端,因为函数不是EJSON值。但你真正的问题可能是你想发送一个函数;我无法想象你为什么要那样做。改为发送数据。您可以使用软件包获得所需的结果。它允许您定义可以从服务器端运行的客户端方法 例如,如果您定义:
Meteor.ClientCall.methods({
'consoleLog': function(message) {
console.log(message);
},
});
并将方法的userId
设置为clientId
:
Deps.autorun(function() {
Meteor.ClientCall.setClientId(Meteor.userId());
});
然后在服务器端,您只需调用:
Meteor.ClientCall.apply(userId, 'consoleLog', ['THIS MESSAGE SHOULD APPEAR IN THE CLIENT CONSOLE']);
您可以使用该软件包实现所需的结果。它允许您定义可以从服务器端运行的客户端方法 例如,如果您定义:
Meteor.ClientCall.methods({
'consoleLog': function(message) {
console.log(message);
},
});
并将方法的userId
设置为clientId
:
Deps.autorun(function() {
Meteor.ClientCall.setClientId(Meteor.userId());
});
然后在服务器端,您只需调用:
Meteor.ClientCall.apply(userId, 'consoleLog', ['THIS MESSAGE SHOULD APPEAR IN THE CLIENT CONSOLE']);
您可以使用该软件包实现所需的结果。它允许您定义可以从服务器端运行的客户端方法 例如,如果您定义:
Meteor.ClientCall.methods({
'consoleLog': function(message) {
console.log(message);
},
});
并将方法的userId
设置为clientId
:
Deps.autorun(function() {
Meteor.ClientCall.setClientId(Meteor.userId());
});
然后在服务器端,您只需调用:
Meteor.ClientCall.apply(userId, 'consoleLog', ['THIS MESSAGE SHOULD APPEAR IN THE CLIENT CONSOLE']);
您可以使用该软件包实现所需的结果。它允许您定义可以从服务器端运行的客户端方法 例如,如果您定义:
Meteor.ClientCall.methods({
'consoleLog': function(message) {
console.log(message);
},
});
并将方法的userId
设置为clientId
:
Deps.autorun(function() {
Meteor.ClientCall.setClientId(Meteor.userId());
});
然后在服务器端,您只需调用:
Meteor.ClientCall.apply(userId, 'consoleLog', ['THIS MESSAGE SHOULD APPEAR IN THE CLIENT CONSOLE']);
哦,我明白了。我猜是流星的东西。我正在做一些表单验证的东西。例如,文本字段不能为空。在客户机上进行验证很简单。但我也希望在服务器上执行相同的验证。当验证失败时,我想返回并自动运行带有jQuery的函数,比如突出显示文本框或其他内容。有点像快捷方式。如果客户端验证失败,请运行jQuery函数。如果您在客户端上验证所有内容,那么如果验证失败,服务器上的验证不需要返回任何内容,因为只有用户没有在客户端上使用您的验证,验证才会失败,除非用户是黑客,否则这种情况永远不会发生。你和我在一起吗?哦,我明白了。我猜是流星的东西。我正在做一些表单验证的东西。例如,文本字段不能为空。在客户机上进行验证很简单。但我也希望在服务器上执行相同的验证。当验证失败时,我想返回并自动运行带有jQuery的函数,比如突出显示文本框或其他内容。有点像快捷方式。如果客户端验证失败,请运行jQuery函数。如果您在客户端上验证所有内容,那么如果验证失败,服务器上的验证不需要返回任何内容,因为只有用户没有在客户端上使用您的验证,验证才会失败,除非用户是黑客,否则这种情况永远不会发生。你和我在一起吗?哦,我明白了。我猜是流星的东西。我正在做一些表单验证的东西。例如,文本字段不能为空。在客户机上进行验证很简单。但我也希望在服务器上执行相同的验证。当验证失败时,我想返回并自动运行带有jQuery的函数,比如突出显示文本框或其他内容。有点像快捷方式。如果客户端验证失败,请运行jQuery函数。如果您在客户端上验证所有内容,那么如果验证失败,服务器上的验证不需要返回任何内容,因为只有用户没有在客户端上使用您的验证,验证才会失败,除非用户是黑客,否则这种情况永远不会发生。你和我在一起吗?哦,我明白了。我猜是流星的东西。我正在做一些表单验证的东西。例如,文本字段不能为空。在客户机上进行验证很简单。但我也希望在服务器上执行相同的验证。当验证失败时,我想返回并自动运行带有jQuery的函数,比如突出显示文本框或其他内容。有点像快捷方式。如果客户端验证失败,请运行jQuery函数。如果在客户机上验证所有内容,则无需在服务器上重新验证