44

Node.js サーバーに送信された投稿要求のフォーム データを回復できないようです。サーバー コードとポスト リクエスト (chrome で postman を使用して送信) の下に配置しました。

投稿リクエスト

POST /api/login HTTP/1.1
Host: localhost:8080
Cache-Control: no-cache

----WebKitFormBoundaryE19zNvXGzXaLvS5C
Content-Disposition: form-data; name="userName"

jem
----WebKitFormBoundaryE19zNvXGzXaLvS5C

NodeJS サーバー コード

var express    = require('express');        // call express
var app        = express();                 // define our app using express
var bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({ extended: true }));
app.use(bodyParser.json());
app.use(bodyParser());

app.all('/*', function(req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Headers', 'Content-Type,accept,access_token,X-Requested-With');
    next();
});

var port = process.env.PORT || 8080;        // set our port

var router = express.Router();              // get an instance of the express Router

router.get('/', function(req, res) {

    res.json({ message: 'I am groot!' });   
});

// Login
router.route('/login')

    .post(function(req, res){

        console.log('Auth request recieved');

        // Get the user name
        var user = req.body.userName;

        var aToken = getToken(user);

        res.json({

            'token':'a_token'
        });
    });

app.use('/api', router);

app.listen(port);

login メソッドは を取得しようとしますreq.body.userNameが、req.body常に空です。SO でそのような動作を説明している他のケースを見てきましたが、ここでは関連する回答はどれも当てはまりませんでした。

助けてくれてありがとう。

4

6 に答える 6

6

ファイルのアップロードをサポートする multipart/form-data リクエストを処理するには、multer モジュールを使用する必要があります。multer ミドルウェアの npm リンク

于 2016-01-21T11:19:03.423 に答える