[英]AJAX and Node JS/Express post not sending or receiving data
我是Node的新手,正在尝试使用app.post,无论何时执行操作,一切都可以正常工作,包括控制台日志,但它不会接收到main.js的AJAX发送的数据。
这是发送给它的main.js的摘要:
$.ajax({
type: 'POST',
data: '{"title":'+ this.messageInput.value +'}',
url: 'http://localhost:3000/send'
});
这是我的config.js应该接收数据:
app.post('/send', function(req, res) {
console.log(req.body);
console.log('Send button clicked');
});
我正在使用express的bodyParser。 这就是为什么我使用req.body。 当我管理日志req.body时,我不确定。 当我控制台日志请求时,我得到的是数据列表,但不是发送的数据。
我希望有人能帮帮忙!
使用body解析器很好,但是您是否在应用中定义了JSON解析器?
您没有粘贴所有代码,因此如果还没有,请添加以下代码:
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// create application/json parser --> This is probably what you are missing
var jsonParser = bodyParser.json()
// POST /api/users gets JSON bodies --> Note how we use a jsonParser in our app.post call
app.post('/send', jsonParser, function (req, res) {
console.log(req.body);
console.log('Send button clicked');
})
另外,不要手动构造数据,只需创建一个对象并发送它(请记住JSON是Java脚本对象表示法的缩写)
var myData = {};
myData.title = this.MessageInput.value;
然后在您的Ajax代码中,只需使用myData
:
$.ajax({
type: 'POST',
data: myData,
url: 'http://localhost:3000/send'
});
注意:此示例大部分直接取自正文解析器Github Page ,其中包含大量有据可查的示例,因此,如果不确定如何使用该模块,请查看该模块
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.