2011-12-25 4 views
7

Mi chiedevo se il suo possibile per passare i dati memorizzati in una matrice javascript al server utilizzando la funzione ajax di jQuery ..passando i dati in javascript array al server con la funzione jQuery.ajax post?

Nella documentazione jQuery specifica:

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

può "dati" essere impostato su un array? Come funzionerebbe questo lavoro sembra che i dati si aspettino coppie di valori chiave? Ho codice attualmente solo duro i valori ma io voglio che sia un codice corrente approach..my più dinamico è:

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

risposta

8

ho creato un array come questo:

var placesfortrip = {}; 

poi aggiunto in questo modo:

placesfortrip["item"+counter] = inputVal; 

(dove counter è una variabile contatore incrementato) poi assegnato questo al data proprietà del ajax chiamata

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

e se guardo la scheda XHR in Firebug appare quei valori vengono inviati!

2

Sì, jQuery.ajax() supporta il passaggio di array. Semplicemente serializza la matrice in una stringa nome-valore.

Se il valore è un array, jQuery serializza valori multipli con stessa chiave in base al valore di impostazione traditional (descritto sotto).

0

Partenza 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

Hai un esempio? Non sembra supportare serializzazione (?) – Rowan

Problemi correlati