gpt4 book ai didi

asp.net-mvc - 使用 jQuery ajax/load 提交数组参数

转载 作者:行者123 更新时间:2023-12-03 22:03:18 25 4
gpt4 key购买 nike

public ActionResult DoSomething(string[] arr, bool someBool, int someInt) { }

尝试从 jQuery 调用上述方法:

var test = [];
test.push('dog');
test.push('cat');

$container.load('MyController/DoSomething',
{ 'arr[]': test, 'someBool': true, 'someInt': 1 },
function(response, status, xhr) {
// ...
});

数组参数为空,其他参数都可以。我做错了什么?

Chrome 开发者工具显示提交的表单数据为

arr%5B%5D%5B%5D:dog
arr%5B%5D%5B%5D:cat
someBool:true
someInt:1

不确定那里发生了什么,但对我来说看起来不对

最佳答案

如果您使用的是 jquery 1.4,您可能需要设置 traditional参数设置为 true 以便与 ASP.NET MVC 中的默认模型绑定(bind)器格式兼容:

var test = [];
test.push('dog');
test.push('cat');

$.ajax({
url: 'MyController/DoSomething',
type: 'GET',
traditional: true,
data: { arr: test, someBool: true, someInt: 1 },
success: function(result) {
$container.html(result);
}
});

或者如果您更喜欢 .load()方法:

var data = { arr: test, someBool: true, someInt: 1 };
$container.load('MyController/DoSomething', $.param(data, true),
function(response, status, xhr) {
// ...
});

关于asp.net-mvc - 使用 jQuery ajax/load 提交数组参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3942408/

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