25

LoopBack には Express 3.x ミドルウェアが組み込まれているようです。確かに、body-parser は にありloopback/node_modulesます。しかし、それをミドルウェアとして使用する方法がわかりません。私は Express 3.x を使ったことがないので、それが原因かもしれません。requireプロジェクトに依存関係として body-parser をインストールしない限り、明らかに機能しません。

server.jsbody-parser を使用して Web フォームを に解析するにはどうすればよいreq.paramsですか? それがそうですよね?

4

8 に答える 8

57

何時間もの欲求不満の後、私はそれをmiddleware.json次のように追加しました:

"parse": {
    "body-parser#json": {},
    "body-parser#urlencoded": {"params": { "extended": true }}
}

依存関係としてインストールされます。req.bodyこれで、ルートにフォーム データが含まれるようになりました。私server/boot/routes.jsはこのように見えます:

module.exports = function(app) {
    app.post('/mailing_list', function(req, res) {
        console.log(req.body.email);
        res.send({"status": 1, "message": "Successfully added to mailing list."})
    });
}
于 2015-02-15T20:01:40.407 に答える
2

これは情報提供のみを目的として投稿しています。この同じ問題に遭遇し、これも機能することがわかりました。次のコマンドを使用して、server/boot/ ディレクトリにファイルを追加できます。

var bodyParser = require('body-parser');

module.exports = function(app) {
  app.use(bodyParser.urlencoded({ extended: true }));
}

もちろん、次を実行してパッケージをインストールする必要があります。

npm install --save body-parser

これにより、パッケージが node_modules ディレクトリに保存されます。最初に実行したい場合は、アルファベット順にロードされるため、ファイル名を「0」で始めることができます。

そうは言っても、これよりも上記のミドルウェア構成アプローチを使用する方が「正しく」エレガントであると思いますが、他の誰かが役に立つと思った場合に共有します.

于 2015-06-16T16:30:27.333 に答える