使用JQuery AJAX将多个变量发送到Node.js服务器

时间:2015-08-09 07:15:02

标签: javascript jquery ajax node.js

当我尝试记录服务器收到的数据时,它显示为一个长字符串。相反,我希望收到的数据可以作为不同的变量进行分离。

客户代码

function sendData() {

var datas = { testdata: "TEST", testdata2: "TEST2" };

$.ajax({
url: 'server',
data: JSON.stringify(datas),
type: 'POST', 

success: function (data) {

    $('#lblResponse').html(data);
},
error: function (xhr, status, error) {
    console.log('Error: ' + error.message);
    $('#lblResponse').html('Error connecting to the server.');
}
});

}

服务器代码

var http = require('http');
http.createServer(function (req, res) {

    console.log('Request received');

    res.writeHead(200, { 
        'Content-Type': 'text/plain',
        'Access-Control-Allow-Origin': '*'
    });
    req.on('data', function (chunk) {
        console.log('GOT DATA!');

        var receivedData = JSON.parse(chunk);

        console.log(receivedData);
    });

    res.end("hello");

}).listen(1337);

我希望能够在服务器中调用单个变量来获取它的值。例如console.log(testdata);应显示值“TEST”。

1 个答案:

答案 0 :(得分:0)

通过对数据对象进行字符串化,您将一个字符串作为请求主体发送到服务器,并且可能使用“application / x-www-form-urlencoded”编码进行编码。

  1. 您可能不应该JSON.stringify(datas),只需使用datas
  2. 您需要解析服务器上的请求正文。为此,您可以使用body
  3. 之类的模块