2009-09-28 9 views
24

Sto leggendo il jQuery load documentation e si accenna che posso usare il carico per eseguire una richiesta GET passando parametri extra come stringa. Il mio codice corrente con i miei parametri come coppia chiave/valore è:Come posso utilizzare jQuery "load" per eseguire una richiesta GET con parametri aggiuntivi?

$("#output").load(
    "server_output.html", 
    { 
     year: 2009, 
     country: "Canada" 
    } 
); 

I lavori di cui sopra bene, ma si tratta di una richiesta POST. Come posso modificare quanto sopra per eseguire una richiesta GET mentre utilizzo ancora load?

+0

Circondano l'oggetto di dati con $ .param() $ ("#output"). load ("server_output.html", $ .param ({year: 2009, country: "Canada"})); –

+0

@BastiaanLinders Dovresti contrassegnarlo come una risposta completa. Dovrebbe essere combinato con la risposta accettata che non descrive come creare la stringa params. – Amala

risposta

13

Secondo la documentazione si è collegato:

una richiesta GET sarà effettuato da default - ma se si passa in qualsiasi parametri supplementari in forma di (chiave Oggetto/Mappa/coppie di valori) quindi si verificherà un POST . Parametri aggiuntivi passati come una stringa utilizzerà comunque una richiesta GET .

Quindi la soluzione semplice è convertire l'oggetto in una stringa prima di passarlo alla funzione. Sfortunatamente, la documentazione non specifica il formato in cui dovrebbe essere inserita la stringa, ma suppongo che sarebbe la stessa come se si stesse generando la richiesta GET manualmente.

$("#output").load(
    "/server_output.html?year=2009&country=Canada" 
); 
-2
$("#output").load("server_output.html?year=2009&country=Canada"); 
-2

si può non solo fare:

$("#output").load(
    "server_output.html?year=2009&country='Canada'" 
); 
82

Uso $.param(data):

$("#output").load(
    "server_output.html?" + $.param({ 
     year: 2009, 
     country: "Canada"}) 
); 
+9

Questa dovrebbe essere la risposta. – Siewers

-3

Utilizzare questa

$("#output").load("server_output.html", {"2009":year, "Canada":country}); 
+3

Questa è la richiesta POST – Slawa