我需要通过ajax请求将js对象发送到服务器; 是包含节点js中Sequelize orm的sql查询参数的对象;一个例子是这样的:
var data =
{
include: [
{ model: model.Shop },
{ model: model.Product,
include: [
{ model: model.File }
]
}
]
}
它可以包含嵌套在多个级别上的对象数组; 在发送之前,如果需要,我可以将其转换为有效的JSON,如下所示:
var data =
{
"include": [
{ "model": "model.Shop" },
{ "model": "model.Product",
"include": [
{ "model": "model.File" }
]
}
]
}
我试图将其作为JSON发送:
$.ajax({
//...
data: data
});
问题是,当在节点服务器中我执行接收到的字符串的JSON.parse时,每个属性的值都是一个字符串,并且它不被识别为模型对象;
如何让我的服务器能够理解这一点?
答案 0 :(得分:4)
尝试使用JSON.stringify
$.ajax({
data: JSON.stringify(data)
});
答案 1 :(得分:0)
不要手动为数据对象添加引号。
试
JSON.stringify(data)
它会将其转换为可接受的字符串格式。