当我尝试记录服务器收到的数据时,它显示为一个长字符串。相反,我希望收到的数据可以作为不同的变量进行分离。
客户代码
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”。
答案 0 :(得分:0)
通过对数据对象进行字符串化,您将一个字符串作为请求主体发送到服务器,并且可能使用“application / x-www-form-urlencoded”编码进行编码。
JSON.stringify(datas)
,只需使用datas
。