2017-01-30 11 views
-1

私はnodeJSサーバーを持っています。 POSTリクエストを受け取り、そこからJSONデータを読み取ることができるようにしたい。 STUDENT_IDと値::私はPOSTキーでリクエストを送信するために郵便配達を使用していますExpress:POSTリクエストからJSONデータを取得しようとしています

/** 
* Created by daniel on 27/01/17. 
*/ 

    const pug = require('pug'); 
    var cloudinary = require('cloudinary'); 
    var express = require('express'); 
    var multer = require('multer'); 
    var upload = multer({ dest: 'uploads/' }); 
    var request = require('request'); 
    var https = require('https'); 
    var fs = require('fs'); 
    var morgan = require('morgan'); 
    var bodyParser = require('body-parser'); 


    var app = express(); 
    var jsonParser = bodyParser.json(); 

https.createServer({ 
    key: fs.readFileSync('key.pem'), 
    cert: fs.readFileSync('cert.pem') 
}, app).listen(3000); 

cloudinary.config({ 
     cloud_name: 'INSERT-CLOUD-NAME-HERE', 
     api_key: 'INSERT-KEY-HERE', 
     api_secret: 'INSERT-SECRET-HERE' 
    }); 



app.get('/', function (req, res) { 
    res.header('Content-type', 'text/html'); 
    return res.end('<h1>Hello, Secure World!</h1>'); 
}); 

    app.post('/', jsonParser, function(req, res){ 
     student_id = req.body['student_id']; 
     console.log(req.body['student_id']); 

     res.header('Content-type', 'text/html'); 
     return res.end('<h1>' + student_id + '<h1>'); 

    }); 

はしかし、console.log(req.body['student_id']);は未定義印刷される123。 req.bodyを印刷すると{}が返されます。どうしたの?

+0

あなたのタイトルが示唆するように、そのPOSTリクエストからJSONを受け取ることはありません。 –

+0

説明できますか? POSTリクエストにJSONが含まれていないか、何も受け取らないことを意味しますか? JSONをどのように受け取ることができますか? –

答えて

0

最も良い方法は、ボディパーサーミドルウェアを使用して着信オブジェクトを解析することです。ここに例があります:

私はあなた自身の解決策にこれを組み込むことができると確信しています。

+0

私は既にbodyParserを使用しています。 –

+0

それでは、何が問題だと思われますか? –

+0

私はURLのエンコーディングを使用したくない、私はJSONデータを使用したい。問題の私のコードはbodyParserを使用していますが、私はJSONデータを受け取っていません。 –

0

私の問題は郵便配達員の問題でした。私はJSONデータを正しく送信していませんでした。

関連する問題