0

誰かがこれがどのように機能するかを説明できますか?私は自分のサーバーからデータを渡してmysqlに送信しようとしました。しかし、私の次のタスクは、http post メソッドを使用して json オブジェクトを別のサーバーに渡すことです

ここにリンクがあります:http://docs.strongloop.com/display/DOC/Remote+methods+and+hooks

このサンプルコードをどこに置いて再コーディングするのか理解できないようです。

私もデータを渡そうとしています。app.js を編集しました

ここに私が追加したものがあります。

var Users = app.model.userRegistrations;
Users.count = function(fn) {
  var usercount = {
    count: 123456
  };
  var err = null;

  // callback with an error and the result
  fn(err, usercount);
}

loopback.remoteMethod(
  Product.count,
  {
    returns: {arg: 'count', type: 'object'},
    http: {path: 'http://192.168.45.85:90', verb: 'get'}
  }
);

しかし、私はエラーが発生しました

events.js:72
        throw er; // Unhandled 'error' event
              ^
TypeError: Cannot set property 'count' of undefined
    at Object.<anonymous> (/home/tsuper/supertsuper/app.js:15:13)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Object.<anonymous> (/usr/local/lib/node_modules/strong-supervisor/bin/slr:27:19)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)

このコードをapp.jsに入れるのは正しいですか?

私の目標は。ループバックからデータを送信した後。ループバックは、メソッドのjsonデータを別のサーバーに渡します。

4

1 に答える 1

1
loopback.remoteMethod(
  Product.count,
  {
    returns: {arg: 'count', type: 'object'},
   http: {path: 'http://192.168.45.85:90', verb: 'get'}
  }
);

このコードはCount、ループバック REST API サーバーでメソッドを公開しています。options は、http.pathメソッドが使用可能なパスです。この場合、通常は のようなものになります/count

さらにいくつか修正する必要があります。

  • モデル クラスにはapp.models、 ではなくを介してアクセスできますapp.model
  • を定義Users.countしたので、 への引数はではなくloopback.remoteMethodである必要があります。Users.countProduct.count

countメソッドはすでに LoopBack によって提供されていることに注意してください。

私の目標は。ループバックからデータを送信した後。ループバックは、メソッドのjsonデータを別のサーバーに渡します。

LoopBack は、そのままではこれをサポートしていません。ただし、結果を別のサーバーにポストするフックを実装できます。

var request = require('request');
Users.afterRemote('count', function(ctx, unused, next) {
  request.post({
    url: 'http://192.168.45.85:90/',
    method: 'POST',
    json: ctx.result
  }, function(err, response) {
    if (err) console.error(err);
    next();
  });
});

詳細については、LoopBack ドキュメントのリモート メソッドとフックを参照してください。

于 2014-06-04T14:11:34.797 に答える