Hướng dẫn jquery ajax php
Danh sách các bài viết trong chuyên mục PHP Ajax, đây là những bài viết mới nhất được cập nhật trong mục PHP Ajax. Show Ajax là một kỹ thuật thường sử dụng trong các ứng dụng website 2.0 bởi vì nó giúp các thao tác trên website trở nên nhanh và chuyên nghiệp hơn. Đối với một PHP developer mà không sử dụng được kỹ thuật này thì quả thật là bất lợi khi đi xin việc làm đấy. Hồi trước khi học Ajax mình hay mơ hồ không biết bắt đầu từ đâu? Nguồn học nào hay? Một phần vì hồi đó nhà không có điều kiện nên có kết nối internet, vì vậy mình cũng không biết trên internet lại có một nguồn học vô tận như vậy. Nghĩ lại thấy mình hồi đó thật tồi tệ. Nhưng bây giờ thì khác, nhà nhà đều có mạng nên bạn sẽ dễ dàng hơn rất nhiều. Tuy tuts nhiều nhưng mình thấy các nguồn học PHP Ajax hiện nay tuy nhiều nhưng vẫn rời rạc, vì vậy mình tạo chuyên đề học Ajax này nhằm giúp bạn khỏi mất công đi tìm nhiều nơi để giải quyết một vấn đề đơn giản. Trọng tâm chủ yếu của chuyên đề này là đề cập đến cách sử dụng ajax và thư viện jquery khi thao tác với Ajax. Vì mỗi website sẽ có những chức năng khác nhau phụ thuộc vào yêu cầu của dự án nên mình không thể trình bày hết các ví dụ được. Nhưng nếu bạn đã xem và hiểu hết tất cả các bài học ajax thì nó không còn khó đối với bạn nữa.
Giới thiệuAjax không phải là ngôn ngữ mà là kĩ thuật trong Javascript, giúp chúng ta tạo ra các ứng dụng Web Không đồng bộ (Asynchronous). Nói dễ hiểu hơn là kĩ thuật “load dữ liệu không cần load lại trang” hay “load một phần website”, giúp website linh hoạt, nhanh chóng và thân thiện với người dùng hơn. Để sử dụng kĩ thuật Ajax trong jQuery, trước hết các bạn cần chuẩn bị cho tôi đó chính là thư viện jQuery được tải về từ http://jquery.com/download . Trong đó, jQuery sẽ có 2 phiên bản là 1.x và 2.x thì chúng ta có thể chọn lựa bản nào cũng được. Hai bản chỉ khác nhau ở việc hỗ trợ các trình duyệt cũ và mới mà thôi, cụ thể ở đây chính là IE 8 trở về trước. Ở đây tôi sẽ dùng bản jQuery 1.x để dễ dàng cho việc các bạn độc giả thử nghiệm hơn. Lưu ý: Các bạn cũng cần phải có ít nhất 1 Web Server như (XAMPP, WampServer,…) hoặc có thể sử dụng mini Webserver Mongoose cho HTML tại đây mongoose-free-5.3.5 và có thể đọc hướng dẫn sau để sử dụng https://cesanta.com/docs/FileSharing.shtml Sau đây, tôi sẽ giới thiệu cho các bạn các phương thức Ajax thông dụng mà jQuery đã viết sẵn: Phương thức “load()”Dùng trong các trường hợp cần load dữ liệu đơn giản và không cần thiết phải can thiệp vào dữ liệu trả về. Chuẩn bị HTML như sau trong cặp thẻ “ ”: Và trong cặp thẻ “ ”: $(document).ready(function() { $('#load-du-lieu').click(function(e) { e.preventDefault(); console.log($('#noidung').load('vidu1.html')); }); }); Và như các bạn thấy trong đoạn code ở cặp thẻ “ ”, các bạn thấy được tôi có sử dụng một file HTML khác là “vidu1.html” để chúng ta sẽ load dữ liệu từ nó vào. Các bạn sẽ được cấu trúc đầy đủ và lưu tên file là “index.html” (Tên “index” các bạn có thể tự đặt) như sau:
Cấu trúc file “vidu1.html” sẽ như sau:
Chúng ta sẽ có cấu trúc thư mục tổng thể như sau trong ví dụ này: Và trong cặp thẻ “ $(document).ready(function() { $('#load-du-lieu').click(function(e) { e.preventDefault(); $('#noidung').load('vidu1.html #chuoi-can-lay'); }); }); Và sau đó các bạn chạy và load lại dữ liệu thì chúng ta sẽ được như sau: Thật bất ngờ đúng không nào? Như vậy, để có thể bóc tách dữ liệu từ file mà chúng ta load lên, và ở đây chính là file “vidu1.html” thì chúng ta cần đặt “id ” cho thẻ bao lấy dữ liệu mà chúng ta cần tách lọc. Sau đó thêm vào ĐẰNG SAU đường dẫn như cách chúng ta dùng jQuery để trỏ đến một thẻ trong HTML nào đó vậy. Vậy là chúng ta đã hoàn tất tìm hiểu xong được phương thức “load() ” trong jQuery Ajax rồi đấy. Phương thức “get()” và “post()”Ở 2 phương thức này thì trong đó phương thức “get() ” giống “load() ” về mặt kĩ thuật đó chính là dùng “method” là “GET” trong “ ”. Tương tự “post() ” sẽ tượng trưng cho “method” là “POST” của “ ”. Cả 2 phương thức này đều cách viết tắt của phương thức “ajax()” mà chúng ta sẽ làm quen ở phần tới. Phương thức “get()”Vì có sự tương đồng giữa “get() ” và “load() ” nên chắc hẳn cách dùng cũng không có phần khác lạ so với các ví dụ ở trên, nhưng cần lưu ý một số cú pháp để tránh nhầm lẫn với “load() ”: $(document).ready(function() { $('#load-du-lieu').click(function(e) { e.preventDefault(); $.get('vidu1.html', function(ketqua) { $('#noidung').html(ketqua); $('#noidung').html($('#chuoi-can-lay').html()); }); }); }); Kết quả khi chạy ví dụ trên:
Ngoài ra “get() ” còn hỗ trợ bạn truyền dữ liệu sang file lấy dữ liệu, tuy nhiên cái này thuộc về sự hiểu biết của các bạn trong kĩ thuật lập trình Web nên tôi không nói nhiều ở đây, không thì sẽ loãng bài viết. Phương Thức “post()”Trong phương thức này, cần có ít nhất một ngôn ngữ động ở phía hệ thống để nhận lấy dữ liệu từ phương thức “post() ” truyền qua. Vì thế, ở đây tôi sẽ dùng PHP để demo cho các bạn. Cách dùng của phương thức “post() ” sẽ giống với “get() ” nhưng khác về kĩ thuật truyền dữ liệu mà thôi. $(document).ready(function() { $('#load-du-lieu').click(function(e) { e.preventDefault(); $.post('vidu2.php', { emNguoiYeu: "Em Yêu Anh", anhNguoiYeu: "Anh không phải người dễ dãi nhé" },function(ketqua) { $('#noidung').html(ketqua); }); }); }); Nội dung của file "vidu2.php": ' .print_r($_POST,true). ''; Kết quả ví dụ trên sau khi thực thi: Ở ví dụ phương thức “post() ” này, ở đối số thứ 2 thay vì là Anonymous Function như ở ví dụ “get() ” mà chúng ta đã xem trước đó, thì đây là “một đối tượng” (Object) chứa những dữ liệu mà chúng ta cần truyền qua đường dẫn “vidu2.php” để nhận và trả về dữ liệu. Kết quả trả về sẽ được đưa vào đối số thứ 3 cho chúng ta. Như vậy chúng ta đã hoàn tất tìm hiểu xong “get() ” và “post() ” rồi. Quá dễ đúng không nào? Đến với phần tiếp theo chúng ta sẽ tìm hiểu đến phương thức “ajax() ” mạnh nhất trong thư viện jQuery. Nên đòi hỏi cách dùng nó cũng tương đối khó khăn hơn nhưng vẫn dễ rất nhiều hơn so Javascript thuần. Phương thức “ajax()”Cách sử dụng phương thức nãy vẫn giống cách gọi của các phương thức “get() ” và “post() ” nhưng chúng ta thay vì truyền đường dẫn trực tiếp vào phương thức thì phương thức “ajax() ” lại chấp nhận đối số đầu tiên chính là cấu hình cho kĩ thuật Ajax của chúng ta: $(document).ready(function() { $('#load-du-lieu').click(function(e) { e.preventDefault(); $.ajax({ url: 'vidu2.php', type: 'POST', dataType: 'html', data: { emNguoiYeu: "Em Yêu Anh", anhNguoiYeu: "Anh không phải người dễ dãi nhé" } }).done(function(ketqua) { $('#noidung').html(ketqua); }); }); }); Các bạn thấy chứ? Rõ ràng đối số đầu tiên chúng ta truyền vào cho phương thức “ajax() ” chính là một đối tượng (Object) gồm các thuộc tính cấu hình để kĩ thuật AJAX của chúng ta có thể thực thi. Trong đó:
Kết quả thực thi ví dụ trên: Hoàn toàn không khác ví dụ trước ở phương thức “post() ” đúng không nào? Và không chỉ có nhiêu đó, phương thức “ajax() ” còn hỗ trợ hàng tá các chức năng khác nhưng tôi không thể giới thiệu hết cho các bạn trong nội dung bài viết này được. Các bạn có thể xem thêm về tài liệu hướng dẫn của phương thức trên tại: http://api.jquery.com/category/ajax Các bạn có thể tải toàn bộ Sources Code của các ví dụ trên tại đây. Trân trọng cám ơn độc giả đã xem qua bài viết này, mong được sự ủng hộ của các bạn ở các bài viết tới. (Visited 47,757 times, 1 visits today) |