1

私は隕石を初めて使い、クライアントでサーバーメソッドを呼び出そうとする問題に直面しています。

// 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";
    }
  });
}

ボタンをクリックすると、エラー: メソッドが見つかりません 404 が表示されました。Meteor.startup 内にサーバー メソッドを配置しようとしましたが、同じエラーが発生します。

4

3 に答える 3

11

コードがクライアント側でのみ実行されているようです。内のブロックを、プロジェクトif (Meteor.isServer)のディレクトリにある JavaScript ファイルに移動し/serverます。

ディレクトリ内のコード/clientはサーバー上でまったく実行されないため、Meteor.isServer常に実行されfalse、クライアントでもサーバーでもメソッドが作成されることはありません

于 2013-07-27T16:18:27.270 に答える
0

Meteor はあなたのメソッドを検出しますMeteor.methods({...})Meteor.isServer()

于 2016-02-10T12:37:04.420 に答える