24

だから、私はhttp呼び出しを行うメソッドを書こうとしています。メソッドを実行すると、次のエラーが発生します。

メソッド'upload'の呼び出し中に例外が発生しましたTypeError:未定義のメソッド'call'を呼び出せません

コードは次のようになります。

クライアント:

console.log(Meteor.call('upload', f, content));

サーバ:

Meteor.methods({
  upload: function(file, content) {
    this.unblock();
    Meteor.http.call("PUT", "http://blah");
  }
});

更新:問題は解決しました。パッケージを有効にする必要がありました。meteor add http

4

2 に答える 2

41

プロジェクトのコマンドラインでこれを実行して、HTTPパッケージを追加する必要があります。

流星はhttpを追加します

于 2012-04-22T01:06:22.893 に答える
3

また、Meteor.callクライアント側を使用してコールバックする必要があります。

ドキュメントから:

クライアントでは、コールバックを渡さず、スタブ内にいない場合、呼び出しはundefinedを返し、メソッドの戻り値を取得する方法がありません。これは、クライアントにファイバーがないため、メソッドのリモート実行をブロックできる方法が実際にはないためです。

だからあなたはこれを変えるべきです

console.log(Meteor.call('upload', f, content));

これに

Meteor.call('upload', f, content, function(error, result){console.log(result);});
于 2012-11-24T06:54:35.443 に答える