这个问题被许多用户问到,我看到了所有解决方案并尝试实现它们,但对我来说不起作用。 我试图获取由ajax发送的node js函数中的数据。 我在app.js中的代码
var express = require('express')
var bodyParser = require('body-parser')
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(bodyParser.json())
var app = express()
app.post('/'uploadFileProduction',jsonParser,function(req,res){
console.log("Hooorrey!!!!")
console.log(req.body)
})
我的Ajax代码部分是
<script>
$(function() {
$('#submit_modal').click(function(e) {
console.log('desired event fire!!!!!!!')
e.preventDefault();
var data = {};
data.title = "title";
data.message = "message";
$.ajax({
type: "POST",
url: 'uploadFileProduction',
data: JSON.stringify(data),
});
});
});
</script>
当我点击此ajax函数时,我的身体为空。 我尝试了以下解决方案,但没有运气
Express.js POST req.body empty
https://github.com/expressjs/body-parser/issues/101
当我在节点js中打印req时,它正在打印所有数据,但在正文中仅是{}。
请帮助。
答案 0 :(得分:1)
我认为问题是因为您将正文作为JSON对象发送,但未指定contentType。如果不知道正确的内容类型,服务器将不知道如何解析您的身体。您应该添加它以使工作正常:
if(true)