传递js对象与ajax请求
我需要通过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 });
问题是,当在节点服务器上我接收string的JSON.parse时,每个属性的值是一个string,它不被识别为模型对象;
我怎样才能让我的服务器能够理解这一点?
尝试使用JSON.stringify
$.ajax({ data: JSON.stringify(data) });
不要手动引用数据对象。
尝试
JSON.stringify(data)
它会将其转换为可接受的string格式。