2011-12-25 14 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