Javascript AJAX和Node JS/Express post不发送或接收数据
我是Node的新手,我正在尝试使用app.post,无论何时执行操作,一切都可以正常工作,包括控制台日志,但它不会从main.js接收AJAX发送的数据 下面是main.js的一个snipper,它会发送:Javascript AJAX和Node JS/Express post不发送或接收数据,javascript,jquery,ajax,node.js,express,Javascript,Jquery,Ajax,Node.js,Express,我是Node的新手,我正在尝试使用app.post,无论何时执行操作,一切都可以正常工作,包括控制台日志,但它不会从main.js接收AJAX发送的数据 下面是main.js的一个snipper,它会发送: $.ajax({ type: 'POST', data: '{"title":'+ this.messageInput.value +'}', url: 'http://localhost:3000/send' }); 下面是我的config.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');
});
我将bodyParser与express一起使用。这就是我使用req.body的原因。当我输入console log req.body时,我得到了未定义的结果。当我控制台log req时,我会得到一个数据列表,但不是我发送的数据
我希望有人能帮忙 使用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:
注意:本示例大部分直接取自,其中有大量文档化的示例,因此如果您不确定如何使用该模块,请查看它非常感谢!我错过了jsonParser。你不知道我花了多长时间在这个lol上。很高兴它对你有帮助,请将此标记为正确答案,以供将来参考
$.ajax({
type: 'POST',
data: myData,
url: 'http://localhost:3000/send'
});