我使用Express来捕获'数据。我使用了put请求。我的要求是 localhost:3000 / units / 10,身体是:
{
"relayon0" : 400,
"relayoff0" : 400
}
我的代码是:
var bodyParser = require('body-parser');
var mysql = require('mysql');
var express = require('express');
var app = express();
var conn = mysql.createConnection({
host : 'localhost',
user : 'root',
password : '',
database : 'plc'
});
app.use(bodyParser.urlencoded({ extended: false }));
app.use(bodyParser.json());
app.put('/units/:id', function(req,res){
var id = req.params.id;
var relayon = [];
var relayoff = [];
for(var i = 0; i < 8; i++){
relayon[i] = JSON.stringify(req.body.relayon + i);
relay[i] = JSON.stringify(req.body.relayoff + i);
}
res.send(relayon[0]);
});
app.listen(3000);
响应返回null。
关于问题的任何想法?
答案 0 :(得分:1)
您可能想要的是req.body['relayon' + i]
和req.body['relayoff' + i]
。
请求req.body.relayon + i
会导致req.body.relayon
(未定义)的值与数字一起添加,结果为NaN
。通过字符串化,结果为"null"
。