2009-09-28 39 views
24

Tôi đang đọc số jQuery load documentation và đề cập rằng tôi có thể sử dụng tải để thực hiện yêu cầu GET bằng cách chuyển các tham số bổ sung dưới dạng chuỗi. Mã hiện tại của tôi với thông số của tôi là cặp khóa/giá trị là:Làm cách nào để sử dụng jQuery "tải" để thực hiện yêu cầu GET với các tham số bổ sung?

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

Ở trên hoạt động tốt nhưng đó là yêu cầu đăng. Làm cách nào để sửa đổi yêu cầu GET trong khi vẫn sử dụng load?

+0

Đắm đối tượng dữ liệu của bạn với $ .param() $ ("#output"). Tải ("server_output.html", $ .param ({năm: 2009, quốc gia: "Canada"})); –

+0

@BastiaanLinders Bạn nên đánh dấu câu trả lời này là câu trả lời đầy đủ. Nó phải được kết hợp với câu trả lời được chấp nhận mà không mô tả cách tạo chuỗi params. – Amala

Trả lời

13

Theo tài liệu bạn liên kết:

Một yêu cầu GET sẽ được thực hiện bởi mặc định - nhưng nếu bạn vượt qua trong bất kỳ thông số bổ sung trong hình thức của một Object/Map (key/cặp giá trị) sau đó một bài đăng sẽ xảy ra. Thông số bổ sung được truyền dưới dạng chuỗi vẫn sẽ sử dụng yêu cầu GET .

Vì vậy, giải pháp đơn giản là chuyển đối tượng của bạn thành chuỗi trước khi chuyển cho hàm. Thật không may, tài liệu không chỉ định định dạng mà chuỗi nên ở trong, nhưng tôi đoán nó sẽ giống như khi bạn tạo yêu cầu GET theo cách thủ công.

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

có thể giúp bạn không chỉ làm:

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

Sử dụng $.param(data):

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

Điều này thực sự nên là câu trả lời. – Siewers

-3

Sử dụng này

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

Đây là yêu cầu POST – Slawa

Các vấn đề liên quan