• Trang chủ
  • Giới thiệu
    • Cơ cấu tổ chức
    • Nhân sự
    • Tầm nhìn & sứ mệnh
    • Thành tựu
    • Hỗ trợ & bảo trì
    • Hình ảnh công ty
    • Thông báo
    • Cộng tác viên & SVTT
    • Nội quy công ty
    • Văn bản - biểu mẫu
    • Quy Trình
  • Hướng dẫn
    • Dịch vụ Email Hosting
      • Hướng dẫn sử dụng IceWarp Mail Server
      • Cài đặt tài khoản mail trên điện thoại
    • Hướng dẫn quản trị website
      • Joomla
        • Cách thay đổi hình banner dạng slide với ImageSlider trong Joomla
        • Cách quản lý menu trong joomla
        • Cách quản lý phương tiện (Hình ảnh) trong joomla
        • Cách quản lý component JU Download
        • Cách thêm/ sửa / xóa bài viết trong joomla
        • Cách quản lý thể loại bài viết joomla
        • Cách đăng sản phẩm bằng "JoomShopping" trong Joomla (Website có đặt hàng)
        • Cách đăng bài giới thiệu sản phẩm trong Joomla (Website không đặt hàng)
        • Cách tạo danh mục sản phẩm (menu bên trái)
        • Cách đổi ảnh và vị trí của danh mục sản phẩm (User ở giữa)
        • Cách quản lý logo dạng slide với DJ-ImageSlider trong Joomla
        • Cách thay đổi logo đối tác (Custom HTML) trong Joomla
        • Cách thay đổi video clips (Custom HTML)
        • Cách đăng video có hỗ trợ Shortcode
      • WordPress
  • Thanh toán
  • Tuyển dụng
    • Nhân sự
    • Cộng tác viên kỹ thuật
    • Cộng tác viên kinh doanh
    • Đại lý
  • Liên hệ
  • Chia sẻ
    • Website
    • Phần mềm
    • IoT
    • Khởi nghiệp
    • SEO FAZAGO
    • Hosting
    • Email
    • Lập trình di động
    • E-logistics
    • Learning English
      • Combined stories about computing
    • Software Testing
    • Ứng dụng CNTT trong Quản lý dược
    • Hướng dẫn thực hành xử lý ảnh photoshop
    • Tin tức
    • Thông tin cần biết
  • Thông báo
  • Chương trình
  • Giải pháp
    • Giải pháp chuyển đổi số
Giỏ hàng 0
Hiển thị giỏ hàng
  • Thiết kế web
    • Gói giới thiệu chọn mẫu
      • Web giới thiệu - Joomla
      • Web giới thiệu - Agitech framework
    • Gói bán hàng chọn mẫu
      • Web bán hàng - Joomla
      • Web bán hàng - Agitech framework
    • Gói giới thiệu tham khảo
    • Gói bán hàng tham khảo
    • Gói web code theo yêu cầu
  • Phần mềm quản lý
    • Phần mềm học trực tuyến elearning
    • Phần mềm kế toán Thông tư 132
    • Quản lý nhân sự và chấm công
    • Quản lý quan hệ khách hàng
    • Quản lý tổng thể ERP
    • Quản lý khách sạn
    • Quản lý kho bán hàng
    • Quản lý quán cà phê
    • Phần mềm quản lý vận tải
    • Phần mềm quản lý bảo trì xe
    • Phần mềm quản lý trên android
    • Phần mềm quản lý Chi cục ATVSTP
    • Phần mềm quản lý cơ sở bán lẻ thuốc 540/QĐ-QLD
    • Sàn giao dịch thương mại điện tử
  • Gia công phần mềm
    • Gia công phần mềm theo lavarel
    • Gia công kiểm thử
  • Vietnamese (VN)
  • English (UK)

Liên hệ

  34A Đường Bùi Văn Danh, P Mỹ Xuyên, TP Long Xuyên, Tỉnh An Giang, Việt Nam
contact@agitech.com.vn

02966.555.226 (Văn phòng)
Kỹ thuật giờ hành chính:
02966.555.226
Hỗ trợ phần mềm:
0789.682.140
Hỗ trợ dự án:
0918.070557

Video

Điều khiển xem camera từ xa trên máy tính - IoT
Tạo cánh tay lấy đồ - IoT

Thống kê truy cập

11842594
Hôm nay
Hôm qua
Tuần này
Tháng này
Tổng
857
1394
857
18898
11842594

  • Trang chủ/
  • Chia sẻ/
  • Website
  • /Cách tắt báo lỗi và thực hiện lấy lại dữ liệu với Ajax DataTable

Cách tắt báo lỗi và thực hiện lấy lại dữ liệu với Ajax DataTable

Được đăng: Thứ tư, 04 Tháng 9 2019 15:19 Lượt xem: 9885
  • In bài này

datatable ajax

1. Giới thiệu:

Sau khi tham gia một số dự án web sử dụng thư viện JavaScript DataTable mình đã biết đến Ajax DataTable với những chức năng tiện lợi cho một dữ liệu không quá lớn.

Ưu điểm: Thư viện giúp lấy dữ liệu nhanh, tự phân trang, tìm kiếm cơ bản mà không cần phải reload lại trang web khi sử dụng Ajax DataTable.

Khuyết điểm: JavaScript Datatable có một khuyết điểm là tải dữ liệu chậm nếu dữ liệu quá lớn vì nó không thật sự lấy theo số dòng dữ liệu mà bạn đặt ra. Bạn phải đưa toàn bộ bảng dữ liệu cho nó, nó sẽ tự phân trang lại theo cấu hình của bạn.

Trong bài viết này mình sẽ hướng dẫn các bạn sử dụng Ajax DataTable và một số thủ thuật nhỏ như tắt báo lỗi khi lấy dữ liệu không thành công hay tự động lấy lại dữ liệu khi lấy dữ liệu thất bại.

2. Thủ thuật:

Ẩn thông báo lỗi: Để ẩn thông báo lỗi do lấy dữ liệu không được hoặc trong quá trình đỗ dữ liệu vào bị lỗi. Bạn chỉ cần thêm đoạn code sau vào phía trước hàm cấu hình Datatable.

  1. $.fn.dataTable.ext.errMode = 'none';

Dưới đây là đoạn code sử dụng Ajax DataTable và tự lấy lại dữ liệu nếu thất bại.

Trong đoạn code tôi có thêm đếm số lần lấy lại và giới hạn không quá 10 lần. Nếu trường hợp bạn đang kiểm thử có lỗi PHP thì sẽ ảnh hưởng tới việc Server tự ghi log lỗi PHP lại với dung lượng lớn vì hàm sẽ gọi lấy dữ liệu liên tục, điều này sẽ phiền bạn tìm kiếm file log để xóa nó đi.

Nếu bạn đang sử dụng Laravel Framework thì cần thêm csrf-token. Xem chi tiết tại đây.

  1. <script type="text/javascript">
  2. var countError = 0; //Tạo biến giới hạn reload ajax khi bị lỗi
  3. var DataList = $("#DataList").DataTable({
  4. "aLengthMenu": [[10, 25, 50, 100, -1], [10, 25, 50, 100, "Tất cả"]], //Cấu hình số dòng lấy
  5. "iDisplayLength": 10, //Số dòng mặc định
  6. "processing": true, //Cấu hình hiển thị chờ lấy dữ liệu
  7. "searching": false, //Cấu hình hiển thị tìm kiếm
  8. "ajax": {
  9. "url": "<Đường dẫn lấy dữ liệu của bạn>",
  10. "type": "<Phương thức gửi>", //POST or GET
  11. "data": data, //Mảng dữ liệu truyền vào nếu có
  12. //Nếu lấy lỗi sẽ thực hiện lấy lại dữ liệu và không quá 10 lần
  13. "error": function (){
  14. if(countError<9)
  15. DataList.ajax.reload( null, false );
  16. countError++;
  17. }
  18. },
  19. //Đỗ dữ liệu vào
  20. "columns": [
  21. {data: "<Tên trường dữ liệu>"},
  22. ...
  23. ],
  24. //Cấu hình cho ngôn ngữ tiếng việt với Bootstrap icon
  25. "language": {
  26. "sLengthMenu": "Hiển thị _MENU_ dòng mỗi trang",
  27. "oPaginate": {
  28. "sFirst": "",
  29. "sLast": "",
  30. "sNext": "",
  31. "sPrevious": ""
  32. },
  33. "sEmptyTable": "Không có dữ liệu",
  34. "sSearch": "Tìm kiếm:",
  35. "sZeroRecords": "Không có dữ liệu",
  36. "sInfo": "Hiển thị từ _START_ đến _END_ trong tổng số _TOTAL_ dòng được tìm thấy",
  37. "sInfoEmpty" : "Không tìm thấy",
  38. "sInfoFiltered": " (trong tổng số _MAX_ dòng)",
  39. "processing": "Đang tải dữ liệu!"
  40. },
  41. //Tạo tên class cho hoặc sẽ không sắp xếp cột
  42. "columnDefs": [ {
  43. "targets" : 'no-sort',
  44. "orderable": false,
  45. }],
  46. });
  47. </script>

Cảm ơn các bạn đã đọc bài viết của mình. Hy vọng bài viết của mình có thể giúp ích cho các bạn đang dùng JavaScript DataTable.

Chúc các bạn thành công!

Chia sẻ: Ngụy Kim Hưng

Liên hệ

  34A Đường Bùi Văn Danh, P Mỹ Xuyên, TP Long Xuyên, Tỉnh An Giang, Việt Nam
contact@agitech.com.vn

02966.555.226 (Văn phòng)
Kỹ thuật giờ hành chính:
02966.555.226
Hỗ trợ phần mềm:
0789.682.140
Hỗ trợ dự án:
0918.070557

Video

Điều khiển xem camera từ xa trên máy tính - IoT
Tạo cánh tay lấy đồ - IoT

Thống kê truy cập

11842594
Hôm nay
Hôm qua
Tuần này
Tháng này
Tổng
857
1394
857
18898
11842594

Copyright © 2015 Agitech

CÔNG TY TNHH TƯ VẤN VÀ DỊCH VỤ KỸ THUẬT CÔNG NGHỆ XANH AN GIANG

34A Bùi Văn Danh, P Mỹ Xuyên, TP Long Xuyên, Tỉnh An Giang

Người đại diện theo pháp luật: Nguyễn Thị Út

Mã số thuế: 1601223524, ngày cấp lần đầu: 07/10/2009,

cấp lần cuối: 08/08/2014

Do sở Kế hoạch & Đầu Tư Tỉnh An Giang cấp

Điện thoại: 02966.555.226 - Email: contact@agitech.com.vn

ZaloPage: Công ty phần mềm An Giang

Thiết kế phần mềm website: AGITECH

Quy Định - Chính sách của AGITECH

  • ★ Chính sách thanh toán
  • ★ Chính sách vận chuyển/ cài đặt
  • ★ Chính sách bảo trì/ bảo hành
  • ★ Chính sách đổi trả hàng/ hoàn tiền
  • ★ Chính sách bảo mật thông tin

Đã thông báo

 ipv6 icon

Chấp nhận thanh toán

TK: Công Ty TNHH Tư vấn và Dịch vụ Kỹ thuật Công Nghệ Xanh An Giang

Vietcombank - số tài khoản 0151.000.482.137

Liên kết website: nang va di doi nha tu luy, nang nha tu luy, di doi nha tu luy, son sakara, son toshiko, son ninza, son aipaint, son akyo, son noi that

son ngoai that, son chong tham, thiet bi ve sinh, gach lot nen, gach op tuong, gach trang tri

  • Trang chủ
  • Giới thiệu
    • Cơ cấu tổ chức
    • Nhân sự
    • Tầm nhìn & sứ mệnh
    • Thành tựu
    • Hỗ trợ & bảo trì
    • Hình ảnh công ty
    • Thông báo
    • Cộng tác viên & SVTT
    • Nội quy công ty
    • Văn bản - biểu mẫu
    • Quy Trình
  • Hướng dẫn
    • Dịch vụ Email Hosting
      • Hướng dẫn sử dụng IceWarp Mail Server
      • Cài đặt tài khoản mail trên điện thoại
    • Hướng dẫn quản trị website
      • Joomla
        • Cách thay đổi hình banner dạng slide với ImageSlider trong Joomla
        • Cách quản lý menu trong joomla
        • Cách quản lý phương tiện (Hình ảnh) trong joomla
        • Cách quản lý component JU Download
        • Cách thêm/ sửa / xóa bài viết trong joomla
        • Cách quản lý thể loại bài viết joomla
        • Cách đăng sản phẩm bằng "JoomShopping" trong Joomla (Website có đặt hàng)
        • Cách đăng bài giới thiệu sản phẩm trong Joomla (Website không đặt hàng)
        • Cách tạo danh mục sản phẩm (menu bên trái)
        • Cách đổi ảnh và vị trí của danh mục sản phẩm (User ở giữa)
        • Cách quản lý logo dạng slide với DJ-ImageSlider trong Joomla
        • Cách thay đổi logo đối tác (Custom HTML) trong Joomla
        • Cách thay đổi video clips (Custom HTML)
        • Cách đăng video có hỗ trợ Shortcode
      • WordPress
  • Thanh toán
  • Tuyển dụng
    • Nhân sự
    • Cộng tác viên kỹ thuật
    • Cộng tác viên kinh doanh
    • Đại lý
  • Liên hệ
  • Chia sẻ
    • Website
    • Phần mềm
    • IoT
    • Khởi nghiệp
    • SEO FAZAGO
    • Hosting
    • Email
    • Lập trình di động
    • E-logistics
    • Learning English
      • Combined stories about computing
    • Software Testing
    • Ứng dụng CNTT trong Quản lý dược
    • Hướng dẫn thực hành xử lý ảnh photoshop
    • Tin tức
    • Thông tin cần biết
  • Thông báo
  • Chương trình
  • Giải pháp
    • Giải pháp chuyển đổi số
You have copied!