Meteor 如何从服务器js获取客户端的会话obj值?
您好,正如我在上面提到的,如何使用meteor从服务器到客户端js获取会话变量,请在下面放置代码验证并给我一个建议。在下面的代码中,如何在客户端js上获取ltest validation.Js:Meteor 如何从服务器js获取客户端的会话obj值?,meteor,Meteor,您好,正如我在上面提到的,如何使用meteor从服务器到客户端js获取会话变量,请在下面放置代码验证并给我一个建议。在下面的代码中,如何在客户端js上获取ltest validation.Js: Meteor.methods({ signupUser: function signupUser(rawData){ console.log("rawData :: "+rawData); Mesosphere.signupForm.va
Meteor.methods({
signupUser: function signupUser(rawData){
console.log("rawData :: "+rawData);
Mesosphere.signupForm.validate(rawData, function(errors, exmp){
if(!errors){
console.log("No Errors Found");
var username = '';
var password = '';
console.log(rawData.length + ">>>>>>>");
for(var i = 0;i < rawData.length ; i++)
{
var obj = rawData[i];
if(i == 0)
{
username = rawData[i].value;
console.log(rawData[i].value + ">>>>>>>" + obj.value);
}
else(i == 1)
{
password = rawData[i].value;
}
}
var obj = Meteor.call('ltest', username,password);
console.log("**********************"+obj);
//Session.set('q', obj);
//Do what you want with the validated data.
}else{
_(errors).each( function( value, key ) {
console.log("signupUser >> "+key+": "+value.message);
});
}
});
}
});
首先,您需要为此使用Future从异步调用方法返回数据 其次,看起来您正试图通过调用另一个meteor方法来实现代码重用 在我看来,您不应该从另一个meteor方法调用meteor方法,这将创建另一个回调以获取结果,这会增加开销,并且会使代码无法读取。基本上,您应该创建公共函数,并尝试从两个Meteor方法调用它 下面是清单,应该可以使用
// define this future at top of file
Future = Npm.require("fibers/future")
Meteor.methods({
signupUser: function signupUser(rawData){
console.log("rawData :: "+rawData);
future = new Future()
Mesosphere.signupForm.validate(rawData, function(errors, exmp){
if(!errors){
console.log("No Errors Found");
var username = '';
var password = '';
console.log(rawData.length + ">>>>>>>");
for(var i = 0;i < rawData.length ; i++)
{
var obj = rawData[i];
if(i == 0)
{
username = rawData[i].value;
console.log(rawData[i].value + ">>>>>>>" + obj.value);
}
else(i == 1)
{
password = rawData[i].value;
}
}
//var obj = Meteor.call('ltest', username,password);
// replace above call to common method as described above
obj = common_ltest(username, password);
console.log("**********************"+obj);
future['return'](obj);
}else{
_(errors).each( function( value, key ) {
console.log("signupUser >> "+key+": "+value.message);
});
// assuming some error here, return null to client
future['return'](null);
}
});
// **note that, this important**
return future.wait()
}
});
希望这有帮助会话在服务器端不可用,您一定遇到了错误。您想从这个meteor方法返回一些值给客户端吗?我知道,但是在上面的代码中,如何从服务器到客户端获取ltest的obj。@ajduke