2009-08-07 27 views
15

Khi nào thì phương thức tải (url, dữ liệu, gọi lại) được sử dụng so với jQuery.get (url, dữ liệu, gọi lại, loại) khi thực hiện cuộc gọi AJAX với jQuery?AJAX jQuery.load so với jQuery.get

+1

để biết thêm: http://stackoverflow.com/questions/3870086/difference-between-ajax-and-get-and-load – cregox

Trả lời

20

Trước hết hai chức năng này hoàn toàn khác nhau. Chức năng 'tải' hoạt động với bộ chọn và tải kết quả của cuộc gọi AJAX bên trong nhóm đã chọn và gọi lại là để xử lý sự kiện "không đầy đủ" của cuộc gọi; trong khi hàm $ .get là tổng quát hơn và gọi lại xử lý phản hồi thành công của cuộc gọi AJAX, nơi bạn có thể tự do định nghĩa bất kỳ hành vi nào bạn muốn. Và bạn có thể tìm thấy tất cả thông tin này chỉ bằng cách xem tài liệu và đặc tả của khung công tác jQuery.

Here bạn có thể tìm thấy tài liệu hay.

8

tải dữ liệu trực tiếp vào DOM. Nếu bạn không cần hành vi này, hãy sử dụng get.

-1

sẽ chỉ phải xem mã jQuery vì nó có sẵn để xem xét. dù sao tất cả các cuộc gọi đều phải đạt cùng phương pháp nhưng trả lời theo các cách khác nhau tùy theo nhu cầu

15

@ Câu trả lời của Artem dường như thiếu thực tế là load là hàm tổng quát hơn get. Theo số jQuery API docs, tải sử dụng get hoặc post tùy thuộc vào dữ liệu. Trích lại nó ở đây:

Request Method

Các phương thức POST được sử dụng nếu dữ liệu được cung cấp như một đối tượng; nếu không, GET được giả định.

Vì vậy, với mục đích nhận được nội dung HTML cục bộ từ máy chủ & chèn nó vào DOM, load là một phương pháp tốt hơn so với phương pháp get, như các nhà phát triển không cần phải lo lắng về việc xử lý dữ liệu khổng lồ & nhiều trung gian các bước mà chức năng tải thực hiện trước khi tìm nạp & trước khi chèn nội dung.

Ví dụ, nếu bạn cần phải tải nội dung một phần của một trang, bạn có thể sử dụng các biểu thức sau đây: $('#result').load('ajax/test.html #container');

này lấy nội dung của ajax/test.html, nhưng sau đó jQuery phân tích các trở tài liệu để tìm phần tử có ID là container. Phần tử này, cùng với nội dung của nó, được chèn vào phần tử có ID là result và phần còn lại của tài liệu đã truy xuất bị hủy.

Một điều cần lưu ý là, khi bạn chỉ cần một tránh GET yêu cầu cung cấp một đối tượng để các tham số dữ liệu & thay vì sử dụng phương pháp $.param để có được một hình thức tuần tự của các thông số yêu cầu.

+0

Thay vào đó, tôi khuyên bạn nên sử dụng tham số dữ liệu để giữ cấu trúc và dữ liệu riêng biệt. Đối với các truy vấn đơn giản, sử dụng nối chuỗi ('id = '+ id') và đối với các công cụ phức tạp hơn, sử dụng đối tượng và phương thức param (' $ .param (object) 'hoặc' $ .param ({id: id, foo: bar }) ') – Deebster

+0

@Deebster Tôi cho rằng các trường hợp đơn giản hơn. Tôi hiểu rằng $ .param tốt hơn cho các tình huống phức tạp.Tôi đã chỉnh sửa câu trả lời. Cảm ơn. – Sujay

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