Bàn về ajax. Nên sử dụng ajax khi nào ? Dùng ajax có tốt hay không ?
Bài đăng này đã không được cập nhật trong 7 năm
Cách vài hôm lại viết một bài ngại ghê hihi. :v
Hôm nay, chúng ta sẽ bàn luận 1 chút về ajax các điểm tốt, xấu của ajax để chúng ta có thể sử dụng chúng sao cho hợp lý nhé.
Trước hết mình sẽ giới thiệu qua 1 chút.
Ajax là gì ?
Hiểu nôm na thì ajax là một thuật ngữ mô tả việc sử dụng một vài công nghệ để thực hiện việc tải trang không đồng bộ. Như vậy nghĩa là ví dụ bình thường khi bạn đang trong 1 trang web và muốn chuyển vào 1 trang khác của trang web đó thì bạn sẽ phải nhấn chuột vào đâu đó (1 đường link chẳng hạn) để thực hiện việc chuyển trang. Sau khi nhấn thì bạn sẽ phải để trình duyệt tải lại toàn bộ trang mới về trong khi trang mới và trang trước đó chỉ khác nhau 1 vài phần nội dung. Tải đi tải lại như vậy sẽ tốn kém lượng băng thông của bạn và làm chậm tốc độ hiển thị web của bạn cho người dùng. Vậy thì thôi, mình cứ dùng ajax cho cool ngầu. Vấn đề không chỉ có vậy sau đây mình sẽ chỉ qua một vài nhược điểm của ajax.
Ajax không tốt ở ?
SEO
Ok. Vấn đề đầu tiên đơn giản nhất đó là ajax không tốt cho SEO. (Đương nhiên là có cách khắc phục nhưng nói chung là vẫn không tốt :v ).
Việc sử dụng ajax sẽ gây khó khăn cho spider (nhện) của Search Engine trong quá trình crawl dữ liệu từ website. Vì con "nhện" nó không thông minh không biết sài ajax nên nó chỉ đi loanh quanh và lấy về được rất ít nội dung website.
Vì vậy nó không thể lấy được đầy đủ các từ khóa hoặc các đoạn văn bản bạn sử dụng cho SEO được.
Bookmark
Khi người dùng muốn bookmark một trang lại thì khi sử dụng ajax sẽ ảnh hưởng đến người dùng vì không thể bookmark lại trang có ajax được. bookmark sẽ làm thiếu mất phần ajax đã được tải ra (Vẫn có cách khắc phục :v)
Share
Tương tự với bookmark thì share cũng không thể hoạt động tốt được nếu có sử dụng ajax ở trang người dùng share.
Debug
Gây khó khăn cho developer trong việc debug ( Ý nói mấy bạn newbie thôi. Không định ghi đâu nhưng có hướng dẫn vài bạn thì thấy các bạn tiếp cận khó khăn thật )
Support
Ajax thì sẽ không được hỗ trợ ở trên các trình duyệt không hoặc ít hỗ trợ cho sử dụng ajax (cái này không phải lo vì giờ có mấy ai sài đồ cổ đến mức đó nữa đâu)
Big Data
Khi sử dụng ajax và phải load rất nhiều dữ liệu thì ajax sẽ không có bất cứ thông báo nào cho bạn là việc tải trang đang hoạt động để người dùng đợi. Đôi khi việc tải trang thất bại hoặc bị lỗi ở ajax thì người dùng cũng không thể nào mà biết được (Giờ xử lý được hết nhưng các bạn phải chú ý 1 tý thôi :3 )
Back and Previous button
Dùng ajax cũng gây khó khăn cho người dùng khi sử dụng nút <- hoặc -> trên trình duyệt vì không tải lại được.
Ajax tốt ở ?
Tăng tốc độ và giảm băng thông khi tải trang
Đương nhiêu rồi thay vì tải toàn bộ thì bạn chỉ cần tải lại một phần.
Làm website thêm hấp dẫn
Bạn mua hàng trên website thì sẽ hiển thị số lượng hàng bạn đã chọn ở trên góc ngay khi bạn click.
Kết luận
Ajax thì các bạn cứ dùng thoải mái đi vì những điểm không tốt đều có cách khắc phục. Tuy nhiên cái gì nhiều quá cũng không tốt. Ajax giảm tốc độ tải trang cho người dùng nhưng đồng nghĩa tăng lượng request đến server. Bạn viết nhiều quá thì thành ra mỗi người dùng gửi vài trăm vài nghìn request đến server thành như tự spam ddos chính mình luôn :v. Ajax bạn nên dùng với những nội dung hay thay đổi cần cập nhập liên tục là tốt nhất. Còn lại trước khi dùng ajax bạn phải suy nghĩ nó có hợp lý và phù hợp với người dùng phổ thông không thì hãy làm nhé.
Chúc các bạn một ngày tốt lành
Bổ sung: Một số cách khắc phục các nhược điểm của ajax (Editing ... )
Thêm nội dung href ở các thẻ a có dùng ajax VD:
<a href= ‘#ajax_content_1’ onclick= ‘ajax_function(); return false;’> Demo Link</a>
Từ ajax gửi lên server ta sẽ check là nội dung layout bên ngoài đã có chưa. Nếu có thì load 1 phần nội dung. Nếu chưa thì load toàn bộ nội dung đầy đủ gồm cả layout.
Khi đối với load dữ liệu lớn. ta thêm loading image hoặc 1 dòng thông báo là nội dung đang được tải để cho người dùng biết.
Làm web để cho người dùng sử dụng không hẳn lúc nào nhanh cũng tốt. Người dùng không biết ajax nên khi nhấn mà có những thay đổi người dùng có thể không phát hiện ra và đôi khi load quá nhanh cũng vậy. Vậy nên tùy theo trường hợp cụ thể các bạn hãy lựa chọn xem khi nào sử dụng ajax cho hợp lý nhé.
All rights reserved