2009-09-28 19 views
24

Czytam jQuery load documentation i wspomina, że ​​mogę użyć obciążenia do wykonania żądania GET, przekazując dodatkowe parametry jako ciąg znaków. Mój obecny kod z moimi parametrami jako para klucz/wartość to:Jak mogę użyć jQuery "load" do wykonania żądania GET z dodatkowymi parametrami?

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

Powyższe działa dobrze, ale jest to prośba o dodanie do wiadomości. Jak mogę zmodyfikować powyższe, aby wykonać żądanie GET, nadal używając load?

+0

Otocz swój obiekt danych z $ .param() $ ("#output"). load ("server_output.html", $ .param ({rok: 2009, kraj: "Kanada"})); –

+0

@BastiaanLinders Powinieneś oznaczyć to jako pełną odpowiedź. Należy go połączyć z zaakceptowaną odpowiedzią, która nie opisuje sposobu tworzenia ciągu params. – Amala

Odpowiedz

13

Zgodnie z dokumentacją Ci powiązać

Żądanie GET będą wykonywane przez domyślnie - ale jeśli przejdą w jakichkolwiek dodatkowych parametrów w formie/MAP (klucz Object/par wartości), a następnie pojawi się test POST . Dodatkowe parametry przekazywane jako ciąg nadal będą korzystać z żądania GET z .

Prostym rozwiązaniem jest przekształcenie obiektu na ciąg przed przekazaniem go do funkcji. Niestety, dokumentacja nie określa formatu, w którym łańcuch powinien się znajdować, ale przypuszczam, że byłby taki sam, jak w przypadku ręcznego generowania żądania GET.

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

można nie tylko zrobić:

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

Zastosowanie $.param(data):

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

To naprawdę powinna być odpowiedź. – Siewers

-3

Użyj tego

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

To jest żądanie POST – Slawa