Bài viết này sẽ cho các bạn biết làm thế nào để loading dữ liệu từ máy chủ bằng cách sử dụng một HTTP POST request.
jQuery.post(url, [data ], [success(data, textStatus, jqXHR)], [dataType])
url : Một chuỗi có chứa các URL mà yêu cầu được gửi.
data : Một Map hoặc chuỗi được gửi cho máy chủ với yêu cầu.
success : (dữ liệu, textStatus, jqXHR) Một hàm callback đó là thực hiện nếu yêu cầu thành công.
DataType: Các loại dữ liệu dự kiến từ máy chủ. Mặc định: Intelligent Guess (xml, json, script, hay html).
Cách dùng với Ajax
$.ajax({type: 'POST', url: url, data: data, success: success dataType: dataType });
Chức năng callback success được thông qua các data trả về, trong đó sẽ là một phần tử gốc XML hoặc một chuỗi văn bản phụ thuộc vào kiểu định dạng của response. Nó cũng thông qua tình trạng văn bản của response.
Hầu hết các trường sẽ chỉ định handler success :
$.post('ajax/test.html', function(data) {
$('.result').html(data);
});
Ví dụ này lấy các đoạn mã HTML được yêu cầu và chèn nó vào trang.
Các trang tải xuống với POST không bao giờ được cache, vì vậy bộ nhớ cache và nếu có các tùy chọn thay đổi trong jQuery.ajaxSetup() chưa có tác dụng trên các yêu cầu này.
Ghi chú thêm:
- Do hạn chế bảo mật của trình duyệt, hầu hết các "Ajax" yêu cầu phải tuân theo chính sách cùng một nguồn gốc; các yêu cầu có thể không thành công lấy dữ liệu từ một miền khác nhau, tên miền phụ, hoặc giao thức.
- Nếu một yêu cầu với jQuery.post() trả về một mã lỗi, nó sẽ không âm thầm, trừ khi script cũng được gọi method .ajaxError() là toàn cục. Theo jQuery 1.5, các method .errors() của jqXHR đối tượng trả về bởi jQuery.post() cũng có sẵn để xử lý lỗi.
Ví dụ: Yêu cầu các trang test.php, nhưng bỏ qua các kết quả trả về.
$.post("test.php");
Ví dụ: Yêu cầu các trang test.php và gửi một số data bổ sung theo (trong khi vẫn bỏ qua các kết quả trả về).
$.post("test.php", { name: "John", time: "2pm" } );
Ví dụ: thông qua các mảng dữ liệu đến máy chủ (trong khi vẫn bỏ qua các kết quả trả về).
$.post("test.php", { 'choices[]': ["Jon", "Susan"] });
Ví dụ: gửi data bằng cách sử dụng form yêu cầu ajax
$.post("test.php", $("#testform").serialize());
Ví dụ: Thông báo ra các kết quả từ test.php yêu cầu (HTML hay XML, tùy thuộc vào những gì đã được trả lại).
$.post("test.php", function(data) {
alert("Data Loaded: " + data);
});
Ví dụ: Thông báo ra các kết quả từ yêu cầu test.php với một tải trọng bổ sung dữ liệu (HTML hay XML, tùy thuộc vào những gì đã được trả lại).
$.post("test.php", { name: "John", time: "2pm" },
function(data) {
alert("Data Loaded: " + data);
});
Ví dụ: Bạn trở thành nội dung trang test.php, lưu trữ nó trong một đối tượng XMLHttpResponse() và áp dụng các quá trình chức năng JavaScript.
$.post("test.php", { name: "John", time: "2pm" },
function(data) {
process(data);
},
"xml"
);
Ví dụ: Bài viết gửi cho trang test.php và được các nội dung đã được trả về ở định dạng json ( "John", "thời gian" => "2:00"));>? ).
$.post("test.php", { "func": "getNameAndTime" },
function(data){
alert(data.name); // John
console.log(data.time); // 2pm
}, "json");
DangTrung.
Không có nhận xét nào:
Đăng nhận xét