将json数据发布到表达应用程序正在获取{}

时间:2015-10-05 07:35:20

标签: jquery json node.js express

在以下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>

但服务器只为每个请求提供结果,如下所示。

{}
{}
{}

我错过了这里的任何事情。请建议我。

1 个答案:

答案 0 :(得分:1)

相反,您应该使用app.post()

app.post('/', function (req, res, next) {
    console.log(req.body) // populated!
    res.send(req.body);
});