获取ajax在nodejs服务器上发送数据

时间:2017-08-25 13:53:37

标签: node.js ajax request

我有简单的ajax请求(来自外部服务器的请求)

             $.ajax({
                type: "POST",
                url: "http://localhost:8001/startApps",
                data: 'sss',
                success: function (data) {
                    console.log('AllOk');
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    console.log('err: '+XMLHttpRequest.status);
                }
            });

我如何获得这些数据:节点js服务器上的“sss”

app.post('/startApps', function (req,res,next) {
    console.log(req.body);//I trying req.data, req.params req.query etc ..
    res.send('Ok');
})

3 个答案:

答案 0 :(得分:1)

默认情况下,$.ajax默认为application/x-www-form-urlencoded作为要发送到服务器的内容类型。在你的情况下,我希望你发送简单的数据。因此,您应该使用contentType作为text/plain来发送数据,并将其作为纯文本在服务器上获取。

 $.ajax({
            type: "POST",
            url: "https://localhost:8001/startApps",
            data: 'sss',
            contentType:'text/plain',
            success: function (data) {
                console.log('AllOk');
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                console.log('err: '+XMLHttpRequest.status);
            }
        });

答案 1 :(得分:1)

试试看它是否有效

$.ajax({
            type: "POST",
            url: "http://localhost:8001/startApps",
            data: 'sss',
            dataType : "text",
            success: function (data) {
                console.log(data);
            },
            error: function(XMLHttpRequest, textStatus, errorThrown) {
                console.log('err: '+XMLHttpRequest.status);
            }
});

app.post('/startApps', function (req,res,next) {
    res.send('Ok');
})

答案 2 :(得分:1)

检查express中的body-parser:

var express = require('express'),
    app     = express(),
    port    = parseInt(process.env.PORT, 10) || 8080;

app.configure(function(){
  app.use(express.bodyParser());
  app.use(app.router);
});

app.listen(port);