客户端中的Meteor调用服务器方法得到404方法未找到错误

Yan*_*eng 1 meteor

我是meteor的新手并且试图在客户端上调用服务器方法时遇到问题.

// Client code 
Template.email.events({  
 'click #test-button' : function(e, t) {      
    Meteor.call('testMethod', function(err, response){
      if (err) {
        alert("error: "+ err)
      } else{
        alert("success")
      }
    });        
 }
})

// server code
if (Meteor.isServer) {

  Meteor.methods({
    testMethod: function () {
       return "success";
    }
  });
}
Run Code Online (Sandbox Code Playgroud)

当我点击按钮时,我得到一个错误:找不到方法404.我试图将服务器方法放在Meteor.startup中并仍然得到相同的错误.我错过了什么?

Aks*_*hat 11

看起来您的代码只在客户端运行.将块内部移动if (Meteor.isServer)/server项目目录中的javascript文件中.

/client目录中的代码根本不会在服务器上运行,因此Meteor.isServer总是如此,false并且永远不会在客户端或服务器上创建该方法