假设我在图像中有一些类似的javascript。在阵列中 我将(多个)值放在变量数组中并发送它 数组到控制器中的操作方法。但是,在动作方法中,我会将其作为对象来获取。如何从这个'对象中获取值?我更喜欢不使用ajax帖子。这可能吗?如果是的话,我该怎样抓住'动作方法中的值?
答案 0 :(得分:1)
您应该使用data
属性发送整数数组
var array = [1, 2, 4];
$.ajax({
url: '/Home/Items',
type: 'POST',
data: { items: array },
success: function(data) {
console.log(data);
}
});
假设你有一个像这样的行动方法来接收它
[HttpPost]
public ActionResult Items(int[] items)
{
// to do : do something with items
return Json(items);
}
现在我看到你读取输入字段的值并将其用作数组变量的值。我不确定您在输入字段中具有什么样的值。如果它是逗号分隔的int列表(例如:" 1,3,5"),您可以使用split
函数从中获取数组。
var v = "2,5,78,8";
var array = v.split(',');
答案 1 :(得分:0)
在Ajax调用中:
var items = ['USA', 'UK', 'Canada'];
$.ajax(
{
type: "POST",
url: "/Test/Details",
contentType: 'application/json',
data: JSON.stringify({ function_param: items })
});
在控制器中:
public ActionResult Details(string[] function_param)
如果你不想使用Ajax调用,那么在html中创建一个输入类型隐藏控件并将javascript数组放到隐藏字段中并使用request.form [&]提交表单并在控制器中获取值#34; hiddencontrol"]
在JS中:
$("#hiddenControl").val(JSON.stringify(items));