Javascript 流星,流星中的呼叫问题?

Javascript 流星,流星中的呼叫问题?,javascript,meteor,Javascript,Meteor,我需要知道Meteor.call的用法。我做了一个简单的例子,如下所示。问题是它永远不会进入insertDetails()。请检查下面的代码,并建议我怎么做,以免出现匹配失败的错误 Client.JS Meteor.methods ({ //this method doesn't cal when using meteor.cal insertDetails : function(adData, callback) { console.log(">&

我需要知道Meteor.call的用法。我做了一个简单的例子,如下所示。问题是它永远不会进入
insertDetails()
。请检查下面的代码,并建议我怎么做,以免出现匹配失败的错误

Client.JS

Meteor.methods
({
    //this method doesn't cal when using meteor.cal
    insertDetails : function(adData, callback)
     {
       console.log(">>>>>>>>>>>>>>>>>>> ******* insertDetails ");
        checkFields(adData);
        var fields = 
        {
            userID: adData.UserID,
            fname: adData.fname,
            lname: adData.lname,
            dob: adData.dob
         };

         return Client.insert(fields, callback);
      }
});


// SERVER-SIDE HELPERS ************************************

var nonEmpty = Match.Where(function(x) {return !!x;});

var checkFields = function(adData)
 {
   console.log(">>>>>>>>>>>>>>>>>>> checkFields ");
   check(adData.userID, nonEmpty);
    check(adData.fname, nonEmpty);

};
Insert.js

if (Meteor.isClient) 
{
  Template.hello.events({
    'submit #addnewuserdetails': function (e,t)

     {

      if (typeof console !== 'undefined')

      console.log(">>>>>>>>>>>>>>>>>>> Add button in details ");

      e.preventDefault();
          saveClientDetails();
    }
  });
}


var saveClientDetails = function() 
{
    console.log(">>>>>>>>>>>>>>>>>>> saveClientDetails ");
   var fields =  {
        //ownerId: Meteor.userId(),
                        UserID : $('#userid').value

                    ,fname : $('#fname').value

            ,lname :$('#lname').value

            ,dob : $('#dob').value


    };
      console.log(">>>>>>>>>>>>>>>>>>> fields.UserID "+fields.UserID);    
        //here cal to above insertDetails()
         Meteor.call("insertDetails", fields, function(err, result)
           {
              if (!err)
                  {
                       console.log(">>>>>>>>>>>>>>>>>>> saveClientDetails Success");
                   } 
               else 
                {
                      console.log(">>>>>>>>>>>>>>>>>>> saveClientDetails ERROR "+err.reason);
                 }
        });

};

匹配失败
错误指出检查功能拒绝了无效数据。我猜问题出在用户id上:当你调用你使用的方法时,
UserID
参数,但是你检查小写的
UserID
。试着修复它,看看它是否有效。另外,尝试注释掉
检查
调用,查看其余代码是否正在运行。另外,如何验证没有调用该方法?请注意,日志应该在服务器控制台中可见。

不,这不是问题,我也检查过一次。Meteor.call永远不会使用该方法。您能给我提个建议吗。@Hubert OG