使用ajax请求传递js对象

Cer*_*ler 4 javascript ajax jquery node.js

我需要通过ajax请求向服务器发送一个js对象;是一个包含节点 js 中带有 Sequelize orm 的 sql 查询参数的对象;一个例子是这样的:

var data =
{
    include: [
        { model: model.Shop },
        { model: model.Product,
            include: [
                { model: model.File }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

它可以包含嵌套在多个级别上的对象数组;在发送之前,如果需要,我可以将其转换为有效的 JSON,如下所示:

var data =
{
    "include": [
        { "model": "model.Shop" },
        { "model": "model.Product",
            "include": [
                { "model": "model.File" }
            ]
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

我尝试将其作为 JSON 发送:

$.ajax({
    //...
    data: data
});
Run Code Online (Sandbox Code Playgroud)

问题是,当我在节点服务器中对接收到的字符串做 JSON.parse 时,每个属性的值都是一个字符串并且它不被识别为模型对象;

我怎样才能让我的服务器能够理解这一点?

Nik*_*eja 5

尝试使用JSON.stringify

$.ajax({
    data: JSON.stringify(data)
});
Run Code Online (Sandbox Code Playgroud)