在以下nodejs服务器中,我试图获取发布的json数据。但是服务器没有得到我发送的json数据。
以下代码是nodejs app
var express = require('express')
var bodyParser = require('body-parser')
var app = express()
// parse application/json
app.use(bodyParser.json())
app.use(function (req, res, next) {
console.log(req.body) // populated!
res.send(req.body);
});
app.listen(3000);
Iam从以下页面发送json数据:
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
<script>
$(document).ready(function(){
$.ajax({
url: 'http://localhost:3000/',
type: 'POST',
contentType: 'application/json',
data: JSON.stringify({number:1}),
success: function (data) {
console.log(data);
}
});
});
</script>
</head>
<body>
</body>
</html>
但服务器只为每个请求提供结果,如下所示。
{}
{}
{}
我错过了这里的任何事情。请建议我。
答案 0 :(得分:1)
相反,您应该使用app.post()
:
app.post('/', function (req, res, next) {
console.log(req.body) // populated!
res.send(req.body);
});