2
"name": "body-parser", "version": "1.13.3",

私のjsonリクエストボディはです{user:'guow'}が、エクスプレスrequest.bodyは{ '{user:\'guow\'}': '' }

これは私のエクスプレスアプリの構成です

var bodyParser = require('body-parser'); //
var multer = require('multer');
app.use(bodyParser.json()); // for parsing application/json
app.use(bodyParser.urlencoded({ extended: false })); // for parsing application/x-www-form-urlencoded //
app.use(multer());

jqueryでリクエストを送信していますが、コードは

$.ajax({ type: “POST”, url: “/login”, cache: false, dataType: 'json', data:“{user:'guow'}"});

誰かがそのような問題に遭遇するでしょうか?

4

3 に答える 3

3

私は node.js の専門家ではありませんが、他のコンテキストでも同様の問題がありました。

一重引用符はリテラルとして解釈されるため、json リクエストの " (二重引用符) の ' (一重引用符) を変更する必要があると思います。json は、その要求を {"user":"guow"} のように記述したいと考えています。

ちょうど私の2セント。

また、この他の質問からの受け入れられた回答は重要です:

JSON 応答の jQuery 単一引用符

于 2015-08-26T09:28:18.357 に答える
2

コードのどこかで、本体全体{user:'guow'}がオブジェクトの文字列キーとして設定されています。元のオブジェクトを一重引用符で囲んでいることに注意してください{ '{user:\'guow\'}': '' }

オブジェクトが send 関数にどのように渡されるかを確認する必要があります。何かのようなもの

res.send({user:'guow'});

大丈夫です。

于 2015-08-26T09:41:01.033 に答える
-1
$.ajax({ type: "POST",
         url: "/login",
         cache: false,
         dataType: 'json',
         data:{"user":"guow"}
      });
于 2015-08-26T09:37:58.837 に答える