2011-12-25 6 views
7

Zastanawiałem się, jeśli jego możliwości do przekazywania danych przechowywanych w javascript tablicy do serwera przy użyciu funkcji ajax jQuery za ..przekazywanie danych w tablicy javascript na serwer z funkcją postu jQuery.ajax?

W dokumentacji jQuery określa:

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

może „data” jest ustawiony na tablica? Jak by to działało biorąc pod uwagę, że dane spodziewają się par wartości klucza? Obecnie tylko ciężko kod wartości, ale ma to być bardziej dynamiczny approach..my kod prądu:

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

Odpowiedz

8

I stworzył tablicę takiego:

var placesfortrip = {}; 

następnie dodaje się do niej tak:

placesfortrip["item"+counter] = inputVal; 

(gdzie counter jest zwiększany zmienna licznika) następnie przydzielony do tego majątku wywołania AJAX

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

i jeśli spojrzeć na karcie użyciem nagłówków XHR w Firebug to pojawia się te wartości napisali data!

2

Tak, jQuery.ajax() wspiera przekazywanie tablic. Po prostu serializuje tablicę na ciąg znaków nazwa-wartość.

Jeśli wartość jest tablicą jQuery serializes wiele wartości tego samego klucza na podstawie wartości ustawienia traditional (opisane poniżej).

0

Wyjazd jQuery serialize: 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

Czy masz przykład? Wygląda na to, że nie obsługuje serializacji (?) – Rowan