Ghi chú. Trước jQuery 3. 0, bộ xử lý sự kiện cũng có một phương thức tên là
1. Các phiên bản cũ hơn của jQuery đã xác định phương thức nào sẽ kích hoạt dựa trên tập hợp các đối số được truyền cho nó
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Phương pháp này là cách đơn giản nhất để lấy dữ liệu từ máy chủ. Nó gần tương đương với
2 ngoại trừ việc nó là một phương thức chứ không phải là hàm toàn cục và nó có hàm gọi lại ẩn. Khi một phản hồi thành công được phát hiện [i. e. khi
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
3 là "thành công" hoặc "không sửa đổi"], thì
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
4 đặt nội dung HTML của các phần tử phù hợp thành dữ liệu được trả về. Điều này có nghĩa là hầu hết các cách sử dụng phương pháp này có thể khá đơn giản.
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
1
$[ "#result" ].load[ "ajax/test.html" ];
Nếu không có phần tử nào khớp với bộ chọn — trong trường hợp này, nếu tài liệu không chứa phần tử có id="result" — yêu cầu Ajax sẽ không được gửi
Chức năng gọi lại
Nếu một cuộc gọi lại "hoàn thành" được cung cấp, nó sẽ được thực thi sau khi thực hiện xử lý hậu kỳ và chèn HTML. Cuộc gọi lại được kích hoạt một lần cho từng phần tử trong bộ sưu tập jQuery và
5 lần lượt được đặt cho từng phần tử DOM
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
1
2
3
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Trong hai ví dụ trên, nếu tài liệu hiện tại không chứa phần tử có ID là "kết quả" thì phương thức
4 không được thực thi
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Phương thức yêu cầu
Phương thức POST được sử dụng nếu dữ liệu được cung cấp dưới dạng một đối tượng;
Đang tải các đoạn trang
Phương pháp
4, không giống như
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
8, cho phép chúng tôi chỉ định một phần của tài liệu từ xa sẽ được chèn vào. Điều này đạt được với một cú pháp đặc biệt cho tham số
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
9. Nếu một hoặc nhiều ký tự khoảng trắng được bao gồm trong chuỗi, thì phần của chuỗi sau khoảng trắng đầu tiên được coi là bộ chọn jQuery xác định nội dung sẽ được tải
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Chúng tôi có thể sửa đổi ví dụ trên để chỉ sử dụng một phần của tài liệu được tìm nạp
1
1
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Khi phương thức này thực thi, nó truy xuất nội dung của
10, nhưng sau đó jQuery phân tích cú pháp tài liệu được trả về để tìm phần tử có ID là
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
11. 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" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
12 và phần còn lại của tài liệu đã truy xuất sẽ bị loại bỏ
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
jQuery sử dụng thuộc tính
13 của trình duyệt để phân tích cú pháp tài liệu đã truy xuất và chèn nó vào tài liệu hiện tại. Trong quá trình này, các trình duyệt thường lọc các phần tử từ tài liệu, chẳng hạn như các phần tử
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
14,
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
15 hoặc
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
16. Do đó, các phần tử được truy xuất bởi
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
4 có thể không hoàn toàn giống như khi tài liệu được trình duyệt truy xuất trực tiếp
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Thực thi tập lệnh
Khi gọi
4 bằng URL không có biểu thức bộ chọn có hậu tố, nội dung được chuyển đến
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
19 trước khi tập lệnh bị xóa. Thao tác này thực thi các khối tập lệnh trước khi chúng bị loại bỏ. Tuy nhiên, nếu
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
4 được gọi với biểu thức bộ chọn được thêm vào URL, thì các tập lệnh sẽ bị loại bỏ trước khi DOM được cập nhật và do đó không được thực thi. Một ví dụ về cả hai trường hợp có thể được nhìn thấy dưới đây
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Tại đây, mọi JavaScript được tải vào
31 như một phần của tài liệu sẽ thực thi thành công
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
1
3
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Tuy nhiên, trong trường hợp sau, các khối tập lệnh trong tài liệu được tải vào
32 bị loại bỏ và không được thực thi
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
1
6
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Ghi chú bổ sung
- Do các hạn chế về bảo mật của trình duyệt, hầu hết các yêu cầu "Ajax" đều phải tuân theo cùng một chính sách gốc;
ví dụ
Tải các mục danh sách của trang khác vào danh sách có thứ tự
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
7
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Thử nghiệm
Hiển thị thông báo nếu yêu cầu Ajax gặp lỗi
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
8
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Thử nghiệm
Tải nguồn cấp dữ liệu. html vào div với ID của nguồn cấp dữ liệu
1
9
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Kết quả
1
0
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
truyền mảng dữ liệu đến máy chủ
1
1
$[ "#result" ].load[ "ajax/test.html", function[] {
alert[ "Load was performed." ];
}];
Tương tự như trên, nhưng sẽ POST các tham số bổ sung cho máy chủ và gọi lại được thực thi khi máy chủ phản hồi xong