Javascript HTML AJAX将空对象发送到后端

Javascript HTML AJAX将空对象发送到后端,javascript,node.js,ajax,Javascript,Node.js,Ajax,这是一个node/express/pug项目。前端渲染良好,但使用普通ajax发送空对象 基本上,它是一个带有事件侦听器的单个输入字段。当字段提交(更改)时,它获取字段数据并将其发送到express。express路由器在这一点上除了拉取发送的数据(req.body)并以json格式将其发送回来之外什么都不做 帕格模板 block content div.container div#enter.row input#entry.twelve.columns.form-con

这是一个node/express/pug项目。前端渲染良好,但使用普通ajax发送空对象

基本上,它是一个带有事件侦听器的单个输入字段。当字段提交(更改)时,它获取字段数据并将其发送到express。express路由器在这一点上除了拉取发送的数据(req.body)并以json格式将其发送回来之外什么都不做

帕格模板

block content
  div.container
    div#enter.row
      input#entry.twelve.columns.form-control(type='text', placeholder='pste yr bkmk' name='bkmk')
    hr
    div#show.row
呈现html

<div class="container">
    <div class="row" id="enter">
        <input class="twelve columns form-control" id="entry" type="text" placeholder="pste yr bkmk" name="bkmk">
        <button type="submit"></button>
    </div>
    <hr>
    <div class="row" id="show"></div>
</div>
<script src="/js/script.js"></script>
快报

router.post('/', function(req, res, next) {
  console.log(`req.body: ${req.body}`);               // COMMENT TWO
  res.status(200).json(req.body);
});
上述来源中的注释一显示输入的文本<代码>注释二显示一个空对象


少了什么?为什么它不发送数据

发送请求时chrome控制台网络选项卡显示的内容?*序列化例如
XHR.send(JSON.stringify({“incoming”:incoming}))
@generalhenry最初只是
XHR.send(incoming)
,字段条目是纯文本。那也不行。即使这样也需要严格化吗?没关系。我把它作为一个对象,按照你说的做了,后端的req.body仍然是
{}
@KamilKiełczewski“请求负载”将传出对象显示为
stringify
ed。如果它只是
XHR.send(传入)
它显示输入到字段中的数据。好的-如果传出请求有正确的JSON数据-那么问题出在后端
router.post('/', function(req, res, next) {
  console.log(`req.body: ${req.body}`);               // COMMENT TWO
  res.status(200).json(req.body);
});