gpt4 book ai didi

javascript - Grails Controller 中的子对象数据绑定(bind)

转载 作者:行者123 更新时间:2023-11-28 10:03:30 24 4
gpt4 key购买 nike

我正在尝试设置一个 JavaScript 对象,以便当它的数据绑定(bind)到 Controller 中的新对象时,数据库中的关联子对象将根据 id 字段进行拉取。 Spring 数据绑定(bind)中对此进行了记录:

Data binding and Associations

If you have a one-to-one or many-to-one association you can use Grails' data binding capability to update these relationships too. For example if you have an incoming request such as:

/book/save?author.id=20

Grails will automatically detect the .id suffix on the request parameter and look-up the Author instance for the given id when doing data binding such as:

def b = new Book(params)

我想将 javascript 对象作为具有子属性的完全组合对象发布到 Controller 。如何设置 javascript 对象,以便 Controller 看到对象的子属性,如以下 url 中所示(与文档中的相同)/book/save?author.id=20?

我已经尝试过,但似乎不起作用:

var childObject= function(name, id) {
this.name = name;
this.id = id;
};

var viewModel = {
id: 1,
child: new childObject("Chuck",1)
}

当 viewModel 发布到 Controller 并自动获取关联记录时, Controller 看不到“child.id”。我认为它是这样工作的吗?

也许问这个问题的另一种方式是如何序列化 javascript 对象,使其字符串表示形式为“object.property”?

最佳答案

将 javascript 对象创建为 {child :{id:1} } 应该可以实现您想要实现的目标。尝试这样的方法来创建所需的 js 对象

     var dataObj = {};
var childObj = {};
childObj['id'] = 1;
dataObj['child'] = childObj;
return dataObj;

关于javascript - Grails Controller 中的子对象数据绑定(bind),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8717573/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com