gpt4 book ai didi

jquery post表单数据和MVC模型绑定(bind)器

转载 作者:行者123 更新时间:2023-12-01 05:34:29 27 4
gpt4 key购买 nike

我正在尝试通过jquery post发布knockoutjs View 模型

var $form = $('#barcodeTemplate form');
var data = ko.toJS(vm.Template);

$.post($form.attr('action'), data);

View 模型包含一些简单的属性和一个复杂的数组对象。这是 JS 对象:

data: Object
Description: "abcde"
Fields: Array[2]
0: Object
Id: 1
Length: 5
Start: 2
Type: "Code"
1: Object
Id: 2
Length: 4
Start: 8
Type: "Price"
length: 2
Flag: "02"
Id: 1
Type: "Embedded"

当序列化为表单数据时,它看起来像这样:

Id:1
Type: "Embedded"
Description: "abcde"
Fields[0][Type]:"Code"
Fields[0][Start]:2
Fields[0][Length]:5
Fields[1][Type]:"Price"
Fields[1][Start]:8
Fields[1][Length]:4

在 Controller 端,基本属性正确反序列化(例如 Id、Type),并且数组有两个元素,但是在这两个元素上,所有属性(Type、Start 等)均为 0。

我怀疑这是因为表单元素在数组属性上使用方括号表示法,而不是点表示法,如

字段[0].类型

这是正确的吗?如果是这样,我如何更改此行为,以便 MVC 模型绑定(bind)器可以成功解码表单数据?

注意,我也尝试过使用 ko.utils.postJson,但这更糟糕 - 数组完全是空的。

最佳答案

我尝试了各种建议,但最终放弃了,只是决定做一个普通的表单帖子,没有ajax的东西。这意味着在表单元素上设置正确的名称属性, knockout 正在管理,但它有效。

关于jquery post表单数据和MVC模型绑定(bind)器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34868862/

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