NHANWEB

Cách sử dụng AJAX hiệu quả

Thật tình mà nói mình chưa bao giờ là fan của  AJAX. Chúng ta đều đồng ý với nhau rằng Javascript là một phần không thể thiếu trên website của chúng ta(tuy nhiên trong bài này mình chỉ dùng Javascript như là một căn nguyên để liên tưởng tới AJAX chứ không bàn bạc về nó :)). Hầu như rất ít trang web nào mà không có Javascript, và chúng ta cũng đều biết rằng nó là khởi nguồn của AJAX. Trong bài này, chúng ta cùng bàn xem những mặt lợi và hại của AJAX, lúc nào cần sử dụng, lúc nào không và sử dụng như thế nào cho hiệu quả trên website của mình nhé.

AJAX làm cho Javascript thêm nhiều niềm vui

Một phần lý do mà tôi không thích sử dụng  Javascript bởi vì nó nhàn chán quá ! Tại sao ? Bởi tôi có thể kiếm được bất cứ đoạn code nào tôi cần trên mạng mà không cần phải suy nghĩ và sáng tạo ra nó – đây là niềm vui của lập trình viên. Ngoài ra hầu hết các đoạn mã Javascript chỉ sử lý dưới client và làm nhiệm vụ chính là xử lý các hiển thị trên website thì nhiều, thao tác vơi server thì hầu như rất ít.

Nhưng đó là trước khi chúng ta biết kế AJAX cũng như sử dụng AJAX. Đột nhiên chúng ta quan tâm hơn đến cách trình duyệt sử dụng  Javascript bởi nó cho phép chúng ta có thêm một phương án nữa để tăng tốc độ xử lý website và thao tác với dữ liệu trên hệ thống thông qua XML và DOM.  Và rồi, những giải thuật xử lý dữ liệu sao cho tương thích và thích hợp với từng website lại sản sinh những niềm vui mới cùng Javascript. Xử lý XML và DOM kéo theo rất nhiều việc “hay ho” để làm :D

Không cần phải bàn nhiều về tác dụng của Ajax nữa bởi hầu hết các bạn đều dễ dàng nắm được rồi phải không. Chúng ta chỉ cần một ví dụ đơn giản là có thể hiểu được nó : bạn có 10 email thuộc 10 nhà cung cấp khác nhau. Như vậy muốn check 10 email này bạn phải login 10 trang web và kiểm tra để nhận được 1 thông báo giống nhau: “Bạn không có email nào mới“. Với AJAX mọi chuyện sẽ dễ dàng hơn: check 1 website duy nhất cho phép kết nối với 10 website kia và hiển thị thông báo bất kì lúc nào mà bạn có email….

Tại sao nên sử dụng AJAX

Có lẽ trong đầu bạn đang hình dung 1 lý do rất ư là… công nghệ: “bởi vì nó cool lắm!“, hay là “bởi vì sếp bảo phải làm vậy“. Phần lớn mình gặp những bạn muốn áp dụng AJAX vào website nhằm mong muốn website mình “theo kịp thời đại“. Nhưng mình khuyên bạn không nên chạy theo như vậy. Hãy đánh giá một cách nghiêm túc hơn sự lựa chọn của bạn và đặt ở vị trí khách hàng truy cập, sử dụng tư duy của họ để đặt ra những câu hỏi như “Họ cần nó để làm gì ?” hay “Điều gì sẽ làm họ cảm thấy sử dụng website của bạn thật đơn giản ?“…

Tại sao không nên sử dụng AJAX

Nhìn những trang web sử dụng ứng dụng  AJAX có lẽ bạn sẽ cảm thấy nó thật “cool” và giống một ứng dụng real time(cho phép bạn xem hầu như ngay tức khắc các thay đổi mà không cần phải refesh lại trang). Nhưng hãy suy nghĩ về những khía cạnh sau. Giả sử tôi có một ứng dụng tab có nhiều dữ liệu hiển thị trong mỗi tab và sử dụng  XML để load các dữ liệu này lên mỗi khi bạn nhấp vào tab. Cái này nhiều bác VN sử dụng lắm đây.

Có vẻ nó là một ứng dụng nên sử dụng và tốt cho trang web của bạn. Nhưng mời bạn nghĩ đến những điều sau:

Những lý do trên thật sự cũng rất đáng cho bạn quan tâm phải không :) Có một số website sử dụng thẻ DIV ẩn và hiển thị nó lên khi người dùng click chuột – cái này cũng hay nhưng không phải là AJAX, tất nhiên là đồng nghĩa với nó là thời gian tải trang sẽ lâu hơn.

Được rồi, giờ chúng ta quay lại một tí với lý do sử dụng  AJAX. Dám cá, 90% các bạn sử dụng AJAX trên website là bởi vì nó “cool”, nó thời đại, hoặc sếp các bạn bắt các bạn phải làm thế (mình bị rồi).  Không tin hãy ngẫm xem :D

AJAX hiển thị nội dung không chính xác

AJAX là một quá trình xử lý không đồng bộ, do đó cái bạn đọc rất có khả năng không đúng với thực tế bởi người dùng lại làm cái khác trong quá trình chúng ta đọc bài và làm ảnh hưởng đến nội dung đang đọc.

Do đó, nếu nội dung dữ liệu của bạn không bao giờ thay đổi hoặc không thay đổi liên tục (ví dụ không thay đổi hàng giờ) thì bạn không nên dùng AJAX cho nó.

Những ứng dụng bạn nên sử dụng AJAX

Kiểm tra dữ liệu đầu vào

Cái này không phả cho “đẹp” hoặc cho “sang” mà bởi tính tiện dụng của nó. Người dùng đầu cuối không phải lúc nào cũng có những hiểu biết về dữ liệu đầu vào hợp lệ. Nếu chờ đợi người dùng gửi dữ liệu lên máy chủ để kiểm tra rồi lại trả về lỗi để người dùng chỉnh sửa dữ liệu cho tương thích thì rất lâu, chưa kể trường hợp họ nhập dữ liệu sai nhiều lần. Nếu sử dụng  AJAX, quá trình kiểm tra chúng ta thực hiện ngay khi họ hoàn tất dữ liệu một phần nào đó, nếu có lỗi chúng ta thông báo ngay để họ chỉnh sửa lập tức. Điều này tăng tính tiếp cận với người dùng đầu cuối. Họ sẽ cảm thấy website của bạn dễ sử dụng hơn.

Comment

Hay còn gọi là Bình luận trong tiếng Việt. Đây là chỗ mà AJAX tỏ ra tuyệt vời nhất. Ý kiến có thể thay đổi liên tục theo thời gian thực và sẽ đẹp hơn khi họ nhấn nút Gửi thì lập tức dữ liệu xuất hiện trên website.

Lọc dữ liệu

Nếu bạn có một bản dữ liệu lớn và một bộ lọc (filter, sort) thì sử dụng  AJAX là một lựa chọn không tồi tí nào khi hiển thị. Webiste của bạn sẽ tương tự như một bản tính của Excel mà mỗi lần yêu cầu tìm kiếm thay đổi nội dung sẽ lập tức hiển thị. Rất đẹp mắt !

Khảo sát và tham dò ý kiến (Poll)

Khi bạn bấm vào nút “Bình chọn“, các lựa chọn sẽ chuyển sang các kết quả bình chọn sẽ rất đẹp mắt và trực quan với người dùng.

Làm gì khi bạn nhận được yêu cầu đòi hỏi phải sử dụng AJAX?

Câu hỏi này sẽ không thừa tí nào đúng không?
Hãy hỏi xem sếp bạn hoặc bộ phận yêu cầu lý do tại sao họ muốn sử dụng  AJAX trên website. Một khi đã hiểu được lý do, chúng ta sẽ có nhiều lựa chọn thay thế hoặc quyết định sử dụng  AJAX hay không một cách dễ dàng hơn. Chúng ta cần biết rằng luôn luôn có hơn 1 cách để hoàn thành công việc.

Nhắc nhờ sếp hoặc bộ phận yêu cầu về những điều không hay mà AJAX mang lại (mình đã liệt kê ở trên). Có rất nhiều thứ cấu thành sự quan tâm của khách hàng đối với website chứ không phải chỉ có AJAX. Chúng ta sẽ đánh giá xem mặt lợi và mặt hại của AJAX cái nào có ý nghĩa hơn và lựa chọn có sử dụng hay không. Đặc biệt, nếu muốn quảng bá website thì nhắc họ kĩ hơn về vấn đề công cụ tìm kiếm không để tâm nhiều đến AJAX và họ đang chịu thiệt thòi hơn về SEO nếu sử dụng  AJAX.

Nếu bạn thấy bài viết này hữu ích cho bạn, hãy để lại một nhận xét nhé :)

Exit mobile version