2011-12-25 40 views
7

我想知道如果其能够通过存储在一个javascript阵列使用jQuery的AJAX功能服务器的数据..在JavaScript数组传递数据到服务器与jQuery.ajax发布函数?

在jQuery文档它指定:

$.ajax({ 
    type: 'POST', 
    url: url, 
    data: data, 
    success: success, 
    dataType: dataType 
}); 

可以“数据”被设置为数组?鉴于数据似乎期望关键值对,这项工作将如何进行?我目前只是硬编码值,但是我希望它成为一个更有活力的approach..my当前的代码是:

jQuery.ajax({ 
      url: "/createtrips/updateitin", 
      type: 'POST', 
      data: {place1: 'Sydney', place2: 'London'}, 
      dataType: 'json', 
      }); 

回答

8

我创建一个这样的数组:

var placesfortrip = {}; 

然后加入到这样的:

placesfortrip["item"+counter] = inputVal; 

(其中counter是一个计数变量) 然后分配这Ajax调用

jQuery.ajax({ 
      url: "/createtrips/updateitin", 
      type: 'POST', 
      data: placesfortrip, 
      dataType: 'json', 
      }); 

,如果我看XHR选项卡中萤火似乎这些值才能发布的data财产!

2

是,jQuery.ajax()支持阵列的传递。它只是将数组序列化为名称值字符串。

如果值是数组,jQuery的序列化基于所述traditional设定(后述)的值与相同的密钥 多个值。

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 
+0

你有一个例子吗?它似乎不支持序列化(?) – Rowan 2011-12-30 16:59:19

相关问题