Javascript HTML AJAX将空对象发送到后端
这是一个node/express/pug项目。前端渲染良好,但使用普通ajax发送空对象 基本上,它是一个带有事件侦听器的单个输入字段。当字段提交(更改)时,它获取字段数据并将其发送到express。express路由器在这一点上除了拉取发送的数据(req.body)并以json格式将其发送回来之外什么都不做 帕格模板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
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);
});