阅读Node js中的post post req

时间:2017-07-16 14:33:29

标签: node.js

我在下面有ajax代码,我想读取我使用ajax发送的数据我想在服务器端读取数据。

     $.ajax({
                    type: 'POST',
                     data: {hurl: "test data"},
                    contentType: 'application/json',
                    url: 'http://localhost:5000/hmap',
                    success: function(data) {
//                            console.log('success');
//                            console.log(JSON.stringify(data));

                        console.log(data);
                    }
                });
            });

下面是我的服务器端节点js代码

var hmapdata = [];
app.post('/hmap', function(req, res) {
    console.log(req.body);
    MongoClient.connect(url, function(err, db) {
        if (err)
            throw err;
        db.collection("heatmap").find().toArray(function(err, result) {
            if (err)
                throw err;
            hmapdata = result;

            db.close();
        });
    });
    setTimeout(function() {
        res.send(hmapdata);
    }, 1000);
});

1 个答案:

答案 0 :(得分:1)

要使用jQuery Ajax发送JSON有效负载,您必须发送一个实际的JSON字符串,而不是javascript对象。

所以你需要这样做:

<!-- When the link is clicked orders are sorted ascending by default. When it is clicked again after page reload orders are sorted descending and it goes so on --> <a href=".../shop/{{category_url}}?sort={{$sort}}">Sort {{$sort === 'asc' ? 'ascending' : 'descending'}}</a>

enter image description here

这是您发送的内容:

enter image description here

现在,在您的服务器中,如果您正在使用data: JSON.stringify({ hurl: "test data" })中间件,则body-parser

中将显示已发布的JSON
req.body

有关详细信息:jQuery posting valid json in request body