我已经成功地使用Ajax从客户端调用了服务器端函数,但是我不知道如何通过函数调用来传递数组。如您所见,我正在尝试从服务器端的数据标签中获取数据,但是我没有获取我传递的值。
如何将“ hi”,“ hello”文本传递到服务器功能?
客户端Ajax调用功能:
function ClientSide()
{
var info = [];
info[0] = 'hi';
info[1] = 'hello';
var json = JSON.stringify(info); //pass this
$.ajax({
type: 'post',
url: '/save',
data: json,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (html) {
// use data
}
})
}
服务器端功能:
app.post('/save', function(req,res,data)
{
var Passed_value = data;
console.log(Passed_value);
});
答案 0 :(得分:2)
首先...您的数据存储在req.body中,而不是您添加的第三个参数中。
第二...如果您要获取字符串形式的JSON,则必须先对其进行解析,然后再将其用作对象...
代码:
app.post('/save', function(req,res)
{
var Passed_value = JSON.parse(req.body);
console.log(Passed_value);
});