bodyParser(urlencodedParser)数据未定义

bodyParser(urlencodedParser) Data is Undefined

本文关键字:数据 未定义 urlencodedParser bodyParser      更新时间:2023-09-26

我正在尝试应用一个非常基本的POST请求,该请求成功,但数据是服务器端的undefined

function SubmitFunction()
{
  var text = '{"name":'+'"'+document.getElementById("text1").value+'"'+'}';
  var encoded = encodeURIComponent(text);
  var http = new XMLHttpRequest();
  http.open("POST", "/users");
  http.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
  http.onreadystatechange = function() {
    if(http.readyState == 4 && http.status == 200) {
      alert(http.responseText);
    }
  }
  http.send(encoded);
}

文本格式为:{"name":"Username"}

var bodyParser = require('body-parser')
var urlencodedParser = bodyParser.urlencoded({ extended: false })
app.post('/users', urlencodedParser, function (req, res) {
  if (!req.body) return res.sendStatus(400)
  res.send('welcome, ' + req.body.name)
})
var express = require('express');
var bodyParser = require('body-parser');
var app = express();
var jsonParser = bodyParser.json();

app.post('/users', jsonParser, function(req, res){
    res.send('welcome, ' + req.body.name);
});

请尝试以上代码。我能够运行上述代码并获得必要的响应。我用Postman client测试了上面的服务器端代码