function BuildParams(arr)
{
// arr is an Array
// how to build params based on the length of the array?
// for example when arr.Length is 3 then it should build the below:
var params = {
'items[0]' : arr[0],
'items[1]' : arr[1],
'items[2]' : arr[2]
},
return params;
}
然后我希望能够将它发送到我的ajax get:
var arr = ['Life', 'is', 'great'];
$.get('/ControllerName/ActionName', BuildParams(arr))
.done(function(data, status) {
alert("Data: " + data + "\nStatus: " + status);
})
.fail(function(data) {
alert(data.responseText);
});
答案 0 :(得分:1)
var result = {}
jQuery.each(['Life', 'is', 'great'], function(index, value){
result['items[' + index + ']'] = value;
});
通用迭代器函数,可用于无缝迭代 对象和数组。数组和数组类似的对象 重复长度属性(例如函数的参数对象) 按数字索引,从0到长度-1。其他对象通过迭代 他们的命名属性。
答案 1 :(得分:0)
迭代数组,将数组中的每个元素添加为params
对象的新属性:
var params = {}; // start with an empty object
for(var i = 0; i < arr.length; i++) {
params["items[" + i + "]"] = arr[i];
}
return params; // return the populated params object
答案 2 :(得分:0)
将BuildParams(arr)
更改为:
{items: arr}
jQuery会将对象正确地序列化为查询字符串,包括具有数组项的对象。