0

私が何か間違ったことをしたかどうか、またはreq.body.usernamefetch()呼び出しの後に(たとえば)呼び出すことによって(expressを使用して)サーバー側でモデルのプロパティにアクセスできないのが正常かどうかを知りたいです:

app.get("/test", function(req, res){
  console.log(req.body.username); //Undefined
});

しかし、私はPUTリクエストによって同じ方法でそれにアクセスできます。

実際、私はURLを使用してユーザー名を送信しましたが、req.body代わりにルートをクリーンアップしてプロパティにアクセスしたいと思います(もちろん、クライアント側のモデルに設定した後)。

説明してくれてありがとう !

アップデート:

問題が発生した場合に備えて、アプリの構成は次のとおりです。

app.configure(function(){
  app.use(express.bodyParser());
  app.use(express.cookieParser());
  app.use(express.session({secret: 'test', store: express.session.MemoryStore({
    reapInterval: 60000 * 10
 })}));
});
4

1 に答える 1

0

質問にタグを付けたので、クライアントでbackbone.jsを使用していると思います。デフォルトでは、 Backboneのsync-methodは、モデルデータをリクエストに添付していないようです。フェッチ/同期するオプションとして渡すこともできますが、JQueryはとにかくURLにデータを追加するようです。おそらく、バックボーンのsyncメソッドやajaxメソッドをオーバーライドする必要があります。ただし、この他の回答に示されているように、GETリクエストに本文を含めることはRESTプリンシパルに反すると思います(リソースはURIによって完全に識別される必要があります)。

于 2013-01-10T16:36:15.520 に答える