iT邦幫忙

0

node.js api 結果錯誤

各位大大,請問一下我做的node.js api

在postmen上運行出來的結果是
{
"mySum": null
}
我明明已經設定相加結果出來是null
不好意思可以幫我看一下哪裡有錯嗎?

var myRouter = require('./routes/myroute'); 
app.use('/my', myRouter);/
var express = require('express');
var router = express.Router();

/* GET users listing. */
router.get('/', function(req, res, next) {
  res.send('respond with a resource');
});

router.post('/sum', function(req, res) {
  var n1 = parseInt(req.body.num1);
  var n2 = parseInt(req.body.num2);
  var sum = n1 + n2;
  res.json({ mySum: sum});
});

module.exports = router;
postman -> body -> x-www-form-urlencoded
key = num1, value= 1
key = num2, value =1
ddr820525 iT邦新手 5 級 ‧ 2020-03-12 16:54:58 檢舉
感謝你
如果你要用 form-data 要再裝一個 multer

1 個回答

3
fillano
iT邦超人 1 級 ‧ 2020-03-12 16:31:50

你沒裝body-parser middleware啦。

npm install --save body-parser

然後在app裡面:

const bodyParser = require('body-parser');

app.use(bodyParser.urlencoded({extended:true}));//如果參數是url encoded格式
app.use(bodyParser.json({type:'application/*+json'}));//如果參數是json格式
//options看你的需要加,不一定跟我這裡的一樣,詳情請洽官網

然後req.body才能取得傳進來的值。

詳細請參考:https://github.com/expressjs/body-parser

ddr820525 iT邦新手 5 級 ‧ 2020-03-12 16:56:04 檢舉

好我試試看
最近在學Node
但是看書學,書上就一堆錯誤,debug也de不出來....

fillano iT邦超人 1 級 ‧ 2020-03-12 17:00:47 檢舉

XD

我要發表回答

立即登入回答