2011-12-25 7 views
7

jQuery belgelerinde ..? jQuery'nin ajax işlevini kullanarak sunucuya bir javascript dizide saklanan verileri aktarmak için onun mümkünse

merak bunun belirtir:

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

"veri" olarak ayarlanabilir bir dizi? Bu işe nasıl bakılırsa veriler anahtar değer çiftlerini bekliyor gibi görünüyor? Şu anda sadece sabit kod değerleri ama olmak istiyorum daha dinamik approach..my geçerli kod:

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

cevap

8

böyle bir dizi yarattı

placesfortrip["item"+counter] = inputVal; 
( counter bir artırılır sayaç değişkeni olan) daha sonra ajax arama

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

ve ben kundakçı içinde XHR sekmesi bakacak olursak bu değerler yayınlanmadan görünür ait data özelliğine bu atanmış

!

2

Evet, jQuery.ajax() diziler geçişini destekler. Diziyi sadece bir isim-değer dizgisine serileştirir. değeri bir dizi ise

jQuery traditional ayarı (aşağıda tarif edilmiştir) değerine göre aynı anahtar birden çok değeri serializes.

0

Kontrol dışarı jQuery serialize: o zaman

var placesfortrip = {}; 

kendisine şöyle ekledi:: 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

Bir örneğiniz var mı? Serileştirmeyi desteklemiyor (?) – Rowan

İlgili konular