0

angularで投稿リクエストを行っているときに投稿パラメーターにアクセスできません。ここに私の角度コードがあります:

var request = $http({
                method: 'POST',
                url: '/api/login',
                data: {
                    login: 'alex',
                    password: 'test'
                }
            })
            .success(function (res, status, headers) {
                if (res.token != 'undefined'){
                    user.token = res.token;
                    user.login = credentials.login;
                    user.userid = res.userid;
                    user.islogged = true;
                    $cookieStore.put("user", user);
                }
            }).error(function(data, status, headers, config) {
                console.log(data);
            });

ルーターファイルのバックエンドコードは次のとおりです。

/************ API ******************/
app.post('/api/login', user.login);

そして、これが私のユーザーコントローラーのコードです

exports.login = function(req, res) {

console.log(req);

var user = {
    login: req.query.login,
    password: sha1(req.query.password)
};
...
}

それ以外の場合、req.query オブジェクトには何もありません。クロム用の高度な REST クライアント プラグインを使用してリクエストを行うと、すべてが正常に機能します。

注: body-parser モジュールを使用して、リクエストのパラメーターを読み取ります。

ここに github リポジトリがあります: https://github.com/alex3165/numeractive/tree/dev/node

4

1 に答える 1

0

json パーサーの使用を有効にしていることを確認してください

var bodyParser = require("body-parser");    
app.use(bodyParser.json());

注: body-parser パッケージをインストールする必要があります。ターミナル (Windows ではコマンド プロンプト) を開いて、ディレクトリをプロジェクトのルートに変更し、次のように入力します。

$ npm install body-parser --save 
于 2015-05-02T22:12:03.343 に答える