我想知道是否可以使用jQuery的ajax函数将存储在javascript数组中的数据传递给服务器..
在jQuery文档中,它指定:
$.ajax({
type: 'POST',
url: url,
data: data,
success: success,
dataType: dataType
});
可以将“数据”设置为数组吗?鉴于数据似乎期待关键价值对,它将如何运作?我目前只是硬编码值,但我希望它是一个更动态的方法..我目前的代码是:
jQuery.ajax({
url: "/createtrips/updateitin",
type: 'POST',
data: {place1: 'Sydney', place2: 'London'},
dataType: 'json',
});
答案 0 :(得分:8)
我创建了一个这样的数组:
var placesfortrip = {};
然后像这样添加:
placesfortrip["item"+counter] = inputVal;
(其中counter
是递增的计数器变量)
然后将其分配给ajax调用的data
属性
jQuery.ajax({
url: "/createtrips/updateitin",
type: 'POST',
data: placesfortrip,
dataType: 'json',
});
如果我查看firebug中的XHR选项卡,则会显示这些值已发布!
答案 1 :(得分:2)
是的,jQuery.ajax()
支持传递数组。它只是将数组序列化为名称 - 值字符串。
如果value是一个数组,jQuery会使用相同的键序列化多个值 基于
traditional
设置的值(如下所述)。
答案 2 :(得分:0)
我相信您希望使用JSON来传递这些值。
答案 3 :(得分:0)
查看jQuery序列化:http://api.jquery.com/serialize/
$('form').submit(function() {
alert($(this).serialize());
return false;
});
This produces a standard-looking query string:
a=1&b=2&c=3&d=4&e=5