Risposte:
Dipende da cosa accetta il server di destinazione. Non esiste uno standard definitivo per questo. Vedi anche ao Wikipedia: Stringa di query :
Sebbene non esista uno standard definitivo, la maggior parte dei framework Web consente di associare più valori a un singolo campo (ad esempio
field1=value1&field1=value2&field2=value3
). [4] [5]
In genere, quando il server di destinazione utilizza un linguaggio di programmazione fortemente tipizzato come Java ( Servlet ), è possibile semplicemente inviarli come più parametri con lo stesso nome. L'API di solito offre un metodo dedicato per ottenere più valori di parametri come array.
foo=value1&foo=value2&foo=value3
String[] foo = request.getParameterValues("foo"); // [value1, value2, value3]
Il request.getParameter("foo")
sarà anche lavorare su di esso, ma tornerà solo il primo valore.
String foo = request.getParameter("foo"); // value1
E, quando il server di destinazione utilizza un linguaggio di digitazione debole come PHP o RoR, è necessario aggiungere il suffisso al nome del parametro con parentesi graffe []
per attivare la lingua per restituire un array di valori invece di un singolo valore.
foo[]=value1&foo[]=value2&foo[]=value3
$foo = $_GET["foo"]; // [value1, value2, value3]
echo is_array($foo); // true
Nel caso in cui lo usi ancora foo=value1&foo=value2&foo=value3
, restituirà solo il primo valore.
$foo = $_GET["foo"]; // value1
echo is_array($foo); // false
Tieni presente che quando invii foo[]=value1&foo[]=value2&foo[]=value3
un servlet Java, puoi comunque ottenerli, ma dovresti usare il nome esatto del parametro comprese le parentesi graffe.
String[] foo = request.getParameterValues("foo[]"); // [value1, value2, value3]
So che questo post è davvero vecchio, ma devo rispondere perché sebbene la risposta di BalusC sia contrassegnata come corretta, non è completamente corretta.
Devi scrivere la query aggiungendo "[]" a pippo in questo modo:
foo[]=val1&foo[]=val2&foo[]=val3
<input name="user[name]" /> <input name="user[email]" />
all'interno di un<form>
contenitore sa esattamente come inviare per impostazione predefinita in tutti i browser. gli input diventeranno `user [name] = SOMETEXT & user [email] =SOME@TEXT.com --- è l'applicazione host richiesta per gestire la decodifica in un array