Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp "Tìm hiểu kĩ thuật AJAX và ứng dụng xây dựng Website bán mỹ phẩm" do sinh viên Trần Thị Diễm thực hiện dưới sự hướng dẫn của ThS. Trần Thị Diệu Linh tại Khoa Công nghệ Thông tin, Trường Đại học Quảng Nam (khóa 2015–2019, hoàn thành tháng 05/2019). Đề tài tập trung vào việc nghiên cứu cơ chế hoạt động của kỹ thuật AJAX và ứng dụng thực tiễn vào quy trình phát triển website thương mại điện tử chuyên ngành mỹ phẩm.

Lý do chọn đề tài và bối cảnh thực tiễn

Theo phân tích của tác giả, sự phát triển nhanh chóng của công nghệ thông tin và mạng Internet đã thúc đẩy mạnh mẽ lĩnh vực thương mại điện tử. Việc thiếu thông tin trong khâu kết nối cung - cầu hàng hóa tạo ra rào cản cho quá trình đưa sản phẩm tới tay người tiêu dùng và gây lãng phí nguồn lực xã hội. Do đó, việc xây dựng các website bán hàng trực tuyến trở thành giải pháp cấp thiết nhằm hỗ trợ hoạt động trao đổi, mua bán diễn ra nhanh chóng, tiết kiệm chi phí đi lại và thời gian cho khách hàng.

Tuy nhiên, trong quá trình chuyển dịch từ các phần mềm chạy độc lập (Desktop Application) sang ứng dụng nền tảng Web (Web Application), các hệ thống Web truyền thống thường gặp nhược điểm về tốc độ xử lý do phải liên tục gửi toàn bộ yêu cầu (HTTP Request) lên máy chủ và tải lại toàn bộ trang (Full Page Reload/PostBack) mỗi khi có sự kiện thay đổi dữ liệu. Điều này dẫn đến tình trạng xuất hiện màn hình trắng, biểu tượng chờ đợi, làm giảm tính mượt mà trong trải nghiệm người dùng. Để giải quyết hạn chế này, tác giả lựa chọn kỹ thuật AJAX nhằm cập nhật dữ liệu bất đồng bộ mà không cần tải lại toàn bộ giao diện, giúp ứng dụng Web đạt được khả năng tương tác tương tự ứng dụng Desktop.

Mục tiêu nghiên cứu

Mục tiêu cụ thể của đề tài bao gồm:

  1. Tìm hiểu chi tiết nguyên lý, cơ chế hoạt động và cách sử dụng kỹ thuật AJAX trong việc thay đổi, cập nhật nội dung trang web mà không yêu cầu người dùng phải tải lại toàn bộ trang.
  2. Phân tích yêu cầu, thiết kế hệ thống và áp dụng kỹ thuật AJAX kết hợp với ngôn ngữ PHP và hệ quản trị cơ sở dữ liệu MySQL để xây dựng hoàn chỉnh Website bán mỹ phẩm trực tuyến.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Kỹ thuật AJAX và việc tích hợp AJAX trong môi trường ngôn ngữ lập trình PHP.
  • Phạm vi nghiên cứu: Mô hình hoạt động và ứng dụng của kỹ thuật AJAX trên các hệ thống website thương mại điện tử.

Cơ sở lý thuyết và phương pháp

Khung lý thuyết và công nghệ sử dụng

Tác giả đã hệ thống hóa các nền tảng công nghệ web cơ bản và chuyên sâu phục vụ cho việc xây dựng hệ thống:

  • HTML (HyperText Markup Language): Ngôn ngữ đánh dấu siêu văn bản dùng để định nghĩa cấu trúc, định dạng nội dung, chèn liên kết và đa phương tiện. Văn bản nghiên cứu đề cập đến cú pháp thẻ, cấu trúc tệp (<head>, <body>) và chuẩn HTML5 với khai báo <!DOCTYPE html>.
  • CSS (Cascading Style Sheets): Ngôn ngữ định dạng hiển thị cho các phần tử HTML (phông chữ, màu sắc, bố cục, đường viền). Nghiên cứu phân tích 3 phương pháp chèn CSS: nội tuyến (Inline style), nội bộ trong thẻ <style>, và liên kết tệp ngoài qua thẻ <link>.
  • JavaScript: Ngôn ngữ kịch bản chạy phía máy khách (Client-side), hoạt động dựa trên mô hình đối tượng (Object-based), được diễn dịch trực tiếp bởi trình duyệt và nhúng vào HTML qua thẻ <script>.
  • PHP (Hypertext Preprocessor): Ngôn ngữ kịch bản phía máy chủ (Server-side) dùng để xây dựng web động. Mã PHP được biên dịch trên máy chủ web thành mã HTML thuần trước khi trả kết quả về trình duyệt của người dùng.
  • Bootstrap (phiên bản 3): Framework giao diện hỗ trợ HTML, CSS và JavaScript ra đời vào tháng 8/2011 (phát triển bởi Mark Otto và Jacob Thornton tại Twitter). Framework này ứng dụng hệ thống lưới (Grid system) và tư duy ưu tiên thiết bị di động (Mobile-first) nhằm tối ưu hóa tính tương thích trên nhiều kích thước màn hình.
  • MySQL: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) đa nền tảng, có tính ổn định và tốc độ truy vấn cao, hỗ trợ quản lý dữ liệu qua các thao tác thêm, sửa, xóa và truy vấn bảng thông qua công cụ phpMyAdmin.
  • Kỹ thuật AJAX (Asynchronous JavaScript and XML): Thuật ngữ được Jesse James Garrett đưa ra vào tháng 02/2005. AJAX là sự kết hợp của:
    • HTML/CSS: Trình bày và định dạng giao diện.
    • Mô hình DOM (Document Object Model): Thao tác và cập nhật nội dung động.
    • Đối tượng XMLHttpRequest: Gửi và nhận dữ liệu bất đồng bộ với máy chủ web.
    • Định dạng dữ liệu truyền: XML, văn bản thuần (Plain text), HTML định dạng sẵn, hoặc JSON.

Phương pháp nghiên cứu

Tác giả áp dụng các phương pháp nghiên cứu kỹ thuật phần mềm bao gồm:

  • Phương pháp nghiên cứu tài liệu: Thu thập, tổng hợp các tài liệu kỹ thuật, giáo trình chuyên ngành và nguồn dữ liệu học thuật trên Internet liên quan đến ngôn ngữ PHP, JavaScript, hệ quản trị MySQL và AJAX.
  • Phương pháp phân tích và thiết kế hệ thống theo cấu trúc: Sử dụng sơ đồ phân cấp chức năng (BFD), sơ đồ luồng dữ liệu (DFD) nhiều mức và mô hình thực thể liên kết (ERD).
  • Phương pháp thực nghiệm: Cài đặt môi trường máy chủ cục bộ bằng WampServer, sử dụng trình soạn thảo Visual Studio Code (phiên bản 1.12) để viết mã nguồn, thiết lập cơ sở dữ liệu trên phpMyAdmin và kiểm thử các tính năng trên trình duyệt web.

Thiết kế và triển khai hệ thống

Phân tích quy trình nghiệp vụ và yêu cầu hệ thống

Hệ thống được thiết kế nhằm phục vụ hai nhóm đối tượng chính với các chức năng cụ thể:

  • Khách hàng (Người dùng cuối):
    • Duyệt danh mục sản phẩm, xem hình ảnh, thông tin chi tiết, giá cả và tình trạng sản phẩm.
    • Tìm kiếm sản phẩm theo hãng, loại da, khoảng giá hoặc tiêu chí liên quan.
    • Quản lý giỏ hàng: Thêm, bớt sản phẩm, điều chỉnh số lượng đơn hàng trước khi kết thúc giao dịch.
    • Đăng ký, đăng nhập tài khoản cá nhân, thay đổi mật khẩu và xem lại lịch sử đơn hàng (hàng đã đặt, hàng đã giao).
    • Gửi phản hồi, nhận tư vấn và xem hướng dẫn sử dụng mỹ phẩm.
  • Nhà quản lý (Quản trị viên - Admin):
    • Quản lý danh mục và thông tin sản phẩm (thêm mới, cập nhật, xóa, quản lý hình ảnh sản phẩm).
    • Quản lý danh mục loại sản phẩm.
    • Quản lý thông tin khách hàng và phân quyền tài khoản.
    • Tiếp nhận, xử lý và theo dõi trạng thái đơn đặt hàng.
    • Thống kê doanh thu, số lượng bán hàng và dữ liệu phản hồi từ khách hàng.

Kiến trúc mô hình luồng dữ liệu (DFD)

Hệ thống được phân rã thành các cấp độ luồng dữ liệu rõ ràng:

  • Sơ đồ mức ngữ cảnh (Context Diagram): Mô tả tương tác giữa hệ thống với hai tác nhân ngoài là Khách hàng và Quản trị viên.
  • Sơ đồ mức đỉnh (Level 0): Phân chia thành 4 tiến trình xử lý chính gồm:
    1. Quản lý khách hàng.
    2. Quản lý sản phẩm.
    3. Quản lý đơn hàng.
    4. Thống kê.
  • Sơ đồ mức dưới đỉnh (Level 1): Chi tiết hóa luồng dữ liệu nội bộ của từng tiến trình quản lý sản phẩm, đơn hàng, khách hàng và thống kê liên kết với các kho dữ liệu tương ứng.

Thiết kế cơ sở dữ liệu quan hệ

Mô hình thực thể liên kết (ERD) được chuyển đổi sang mô hình quan hệ và chuẩn hóa đạt chuẩn 3NF (Third Normal Form). Hệ thống lưu trữ bao gồm 7 bảng dữ liệu chính:

Tên bảng Chức năng lưu trữ Các trường dữ liệu chính
user Tài khoản quản trị và nhân viên hệ thống id_user, username, password, level, email
loaisanpham Danh mục các phân loại mỹ phẩm IdLoaiSanPham, TenLoaiSanPham
sanpham Thông tin chi tiết các mặt hàng mỹ phẩm IdSanPham, Images, TenSanPham, GiaSanPham, GioiThieuSanPham, ChiTietSanPham, TinhTrang, IdLoaiSanPham
khachhang Hồ sơ thông tin cá nhân của người mua hàng IdKhachHang, TenDangNhap, TenKhachHang, MatKhau, Level, Email, GioiTinh, DiaChiLienLac, SoDienThoai
images Danh sách tập tin hình ảnh liên kết id_img, name_img, id_sanpham
giohang Thông tin các mặt hàng trong giỏ của khách id_giohang, IdKhachHang, IdSanPham, SoLuong, NgayMua, TrangThai
phanhoi Ý kiến đóng góp và liên hệ của người dùng id_phanhoi, TenKhachHang, Email, NoiDung, NgayGui

Ứng dụng kỹ thuật AJAX trong triển khai

Tác giả đã triển khai các đoạn mã xử lý AJAX thuần và jQuery AJAX để xử lý các nghiệp vụ:

  • Cấu hình thuộc tính jQuery AJAX: Sử dụng 4 tham số trọng tâm gồm url (đường dẫn tệp PHP xử lý), type (phương thức GET hoặc POST), dataType (kiểu dữ liệu phản hồi như json, xml, script, text), và success (hàm nhận kết quả để gán nội dung vào thẻ DOM).
  • Phân hệ Quản trị (Admin): Ứng dụng AJAX trong các tác vụ chuyển trang, thêm mới, chỉnh sửa và xóa trực tiếp các bản ghi sản phẩm, loại sản phẩm mà không cần tải lại toàn bộ trang quản trị.
  • Phân hệ Người dùng (Frontend): Ứng dụng kỹ thuật AJAX trong việc lọc sản phẩm, thêm hàng vào giỏ và kiểm tra trùng lặp tài khoản đăng ký.

Nội dung chính theo từng chương

Chương 1: Cơ sở lý thuyết

Chương 1 trình bày toàn bộ nền tảng lý thuyết và công cụ phát triển phần mềm:

  • Phân tích chi tiết cú pháp và vai trò của các ngôn ngữ cốt lõi: HTML (cấu trúc tệp, các thẻ đơn/kép), CSS (cách nhúng và các thuộc tính trình bày), JavaScript (tương tác DOM, bắt sự kiện client), và PHP (cơ chế thông dịch từ web server thành HTML).
  • Trình bày về Bootstrap 3: Nêu rõ lịch sử phát triển, cấu trúc tệp thư viện, ưu điểm (rút ngắn thời gian phát triển giao diện, tính tương thích đa thiết bị, hỗ trợ SEO) và nhược điểm (dung lượng thư viện còn nặng, chứa mã dư thừa nếu chỉ dùng chức năng cơ bản).
  • Khái quát hệ quản trị MySQL: Các vai trò thêm, sửa, xóa, truy vấn bảng; các ưu điểm về tính nhất quán dữ liệu và các vấn đề cần lưu ý về an toàn, tranh chấp dữ liệu khi nhiều người dùng truy cập.
  • Tổng quan về AJAX: Giải thích cơ chế luồng xử lý trung gian giữa Client và Server qua đối tượng XMLHttpRequest. So sánh mô hình truyền thống (phải tải lại cả trang gây trễ) và mô hình AJAX (chỉ nạp phần dữ liệu thay đổi, hiển thị thông điệp chờ). Đồng thời, chương này hướng dẫn viết mã AJAX bằng JavaScript thuần và jQuery AJAX.
  • Giới thiệu công cụ: Cách thiết lập máy chủ ảo WampServer trên môi trường Windows và cài đặt môi trường soạn thảo Visual Studio Code 1.12.

Chương 2: Phân tích và thiết kế hệ thống

Chương 2 tập trung vào việc mô hình hóa các yêu cầu bài toán thương mại điện tử mỹ phẩm:

  • Xác định mục tiêu mở rộng thị trường tiêu thụ, cung cấp thông tin trực quan, chính xác về sản phẩm và tiết kiệm chi phí cho khách hàng.
  • Phân tích các hoạt động nghiệp vụ của cửa hàng trên mạng: Giới thiệu sản phẩm (lưu trữ hình ảnh, nhà cung cấp, giá bán), tư vấn sản phẩm theo loại da, vận hành giỏ mua hàng, đăng ký/đăng nhập thành viên, theo dõi phiên mua hàng thông qua mã định danh, và tiếp nhận đơn hàng chuyển sang bộ phận kế toán.
  • Thiết lập hệ thống sơ đồ kỹ thuật:
    • Sơ đồ phân cấp chức năng (BFD).
    • Hệ thống sơ đồ luồng dữ liệu (DFD) từ mức ngữ cảnh đến các mức dưới đỉnh (cho quản lý khách hàng, sản phẩm, đơn hàng và thống kê).
    • Sơ đồ thực thể quan hệ (ERD) xác định mối quan hệ giữa các thực thể SanPham, LoaiSanPham, KhachHang với các quan hệ liên kết "Mua" và "Thuộc".
    • Chuyển đổi mô hình ERD sang mô hình quan hệ, lập ma trận liên kết khóa và chuẩn hóa dữ liệu đạt dạng chuẩn 3NF với 7 bảng cơ sở dữ liệu.

Chương 3: Triển khai xây dựng Website

Chương 3 minh chứng kết quả hiện thực hóa hệ thống thông qua giao diện và các đoạn mã xử lý:

  • Giao diện phân hệ Quản trị (Admin): Minh họa và giải thích các màn hình chức năng gồm: Đăng nhập quản trị, Thống kê số liệu, Quản lý sản phẩm, Quản lý loại sản phẩm, Quản lý hình ảnh (images), và Quản lý đơn hàng/giỏ hàng.
  • Giao diện phân hệ Người dùng (Website bán mỹ phẩm): Thiết kế chi tiết trang chủ với 5 khu vực cấu trúc:
    1. Phần Menu: Logo website, thanh công cụ tìm kiếm, số điện thoại hotline, liên kết đăng nhập/đăng ký, danh mục menu chính và nút truy cập giỏ hàng.
    2. Phần Slide: Banner trình diễn hình ảnh và giới thiệu các danh mục sản phẩm bán chạy.
    3. Phần Giới thiệu: Nội dung giới thiệu sơ lược về dòng sản phẩm mỹ phẩm Hanayuki.
    4. Phần Content: Khu vực hiển thị danh sách sản phẩm đặc trưng bán chạy kèm theo hình ảnh, tên sản phẩm và đơn giá niêm yết.
    5. Phần Footer (Foster): Chứa các liên kết nội bộ, thông tin bản quyền và địa chỉ liên hệ của cửa hàng.
  • Trình bày các giao diện chức năng khác: Đăng ký tài khoản, đăng nhập, trang giới thiệu, trang chi tiết sản phẩm, trang liên hệ, trang giỏ hàng, và giao diện theo dõi trạng thái đơn hàng (hàng đã đặt, hàng đã giao).
  • Trích xuất các đoạn mã nguồn AJAX thực tế: Cung cấp mã xử lý chuyển trang mượt mà không tải lại toàn trang và các đoạn mã gọi AJAX bất đồng bộ để thực hiện thêm, sửa, xóa dữ liệu trong trang quản trị.

Kết quả và đóng góp

Kết quả chính của đề tài

  • Hệ thống hóa đầy đủ cơ sở lý thuyết về lập trình web với PHP/MySQL và cơ chế xử lý bất đồng bộ của kỹ thuật AJAX (sử dụng đối tượng XMLHttpRequest và thư viện jQuery).
  • Xây dựng hoàn chỉnh mô hình phân tích thiết kế hệ thống thương mại điện tử với sơ đồ phân cấp chức năng, hệ thống DFD 4 phân hệ chính và thiết kế 7 bảng cơ sở dữ liệu đạt chuẩn 3NF.
  • Triển khai thành công Website bán mỹ phẩm thực tế bao gồm đầy đủ hai phân hệ chức năng:
    • Phân hệ người dùng với các quy trình duyệt sản phẩm, lọc theo loại da/hãng, quản lý giỏ hàng, đặt hàng và theo dõi đơn mua.
    • Phân hệ quản trị cho phép thực hiện toàn diện các nghiệp vụ thống kê, quản lý danh mục sản phẩm, loại sản phẩm, đơn hàng và hình ảnh.
  • Tích hợp thành công kỹ thuật AJAX vào các tác vụ chuyển trang và thao tác CRUD trong trang Admin, giúp loại bỏ hiện tượng tải lại toàn bộ trang (PostBack).

Đóng góp thực tiễn theo công bố của tác giả

Khóa luận đã chứng minh tính hiệu quả của việc ứng dụng kỹ thuật AJAX trong việc cải thiện tốc độ xử lý, hiệu suất hoạt động và nâng cao tính thân thiện trong trải nghiệm người dùng đối với một ứng dụng web thương mại điện tử. Việc loại bỏ quá trình tải lại trang giúp website phản hồi nhanh hơn, tiết kiệm thời gian mua sắm và tạo cảm giác mượt mà tương tự như khi sử dụng các phần mềm desktop truyền thống.


Hạn chế và hướng nghiên cứu tiếp

Hạn chế được tác giả chỉ ra

Trong quá trình nghiên cứu lý thuyết và triển khai thực nghiệm kỹ thuật AJAX, tác giả đã nêu rõ một số nhược điểm cố hữu của công nghệ này:

  • Hạn chế về URL và Bookmark: Do dữ liệu được tải và cập nhật ngầm mà không làm thay đổi đường dẫn trên thanh địa chỉ trình duyệt, người dùng không thể đánh dấu (Bookmark/Favorite) trạng thái trang cụ thể hoặc chia sẻ liên kết trực tiếp cho người khác.
  • Hạn chế về tối ưu hóa công cụ tìm kiếm (SEO): Các công cụ tìm kiếm gặp khó khăn hoặc không thể thu thập (crawl/index) được các nội dung động được nạp bằng AJAX.
  • Xung đột điều hướng (Nút Back trình duyệt): Nút quay lại (Back) trên trình duyệt không thể điều hướng về trạng thái nội dung trước đó của AJAX do URL không thay đổi.
  • Phụ thuộc cấu hình môi trường: Hệ thống đòi hỏi trình duyệt của người dùng phải bật hỗ trợ JavaScript; một số máy chủ web có thể phát sinh lỗi cấp quyền ("Access denied") nếu cấu hình bảo mật không tương thích với các yêu cầu bất đồng bộ.

Hướng mở rộng nghiên cứu

Dựa trên các hạn chế đã chỉ ra, hướng phát triển tiếp theo được tác giả định hướng bao gồm:

  • Nghiên cứu cơ chế đồng bộ hóa việc cập nhật dữ liệu AJAX với thanh địa chỉ trình duyệt (thay đổi địa chỉ URL tương ứng với trạng thái dữ liệu) nhằm hỗ trợ khả năng lưu bookmark và khôi phục hoạt động của nút Back/Forward.
  • Nâng cao tính bảo mật cho các lời gọi AJAX và hoàn thiện thêm các cổng thanh toán trực tuyến cho hệ thống website.

Giá trị tham khảo

Khóa luận là tài liệu tham khảo phù hợp cho sinh viên chuyên ngành Công nghệ Thông tin, Kỹ thuật Phần mềm và Hệ thống Thông tin trong quá trình thực hiện đồ án môn học hoặc khóa luận tốt nghiệp về lập trình web:

  • Phương pháp phân tích thiết kế: Cung cấp mẫu chuẩn về việc xây dựng sơ đồ phân cấp chức năng (BFD), sơ đồ luồng dữ liệu đa cấp (DFD) và thiết kế cơ sở dữ liệu quan hệ chuẩn 3NF cho một bài toán thương mại điện tử quy mô vừa và nhỏ.
  • Mẫu triển khai kỹ thuật AJAX: Cung cấp hướng dẫn từng bước từ việc tạo tệp xử lý PHP, viết hàm JavaScript thuần và viết mã jQuery AJAX (với đầy đủ các thuộc tính url, type, dataType, success) để tải dữ liệu và cập nhật DOM không cần tải lại trang.
  • Cấu trúc giao diện web bán hàng: Minh họa cách thức tổ chức giao diện quản trị (Admin Dashboard) và giao diện bán hàng (Client Frontend) sử dụng framework Bootstrap 3.

Câu hỏi thường gặp

1. Khóa luận sử dụng các công nghệ, công cụ và framework nào để xây dựng website?

Khóa luận sử dụng ngôn ngữ HTML5, CSS và JavaScript ở phía máy khách; ngôn ngữ PHP và hệ quản trị cơ sở dữ liệu MySQL ở phía máy chủ; framework giao diện Bootstrap 3. Môi trường phát triển bao gồm gói máy chủ cục bộ WampServer (tích hợp Apache, PHP, MySQL, phpMyAdmin) và trình biên mã Visual Studio Code phiên bản 1.12.

2. Cơ sở dữ liệu của Website bán mỹ phẩm bao gồm những bảng nào và được chuẩn hóa ở mức nào?

Cơ sở dữ liệu của hệ thống được chuẩn hóa đạt mức 3NF và bao gồm 7 bảng dữ liệu: user (tài khoản quản trị), loaisanpham (danh mục loại mỹ phẩm), sanpham (chi tiết sản phẩm), khachhang (thông tin người mua hàng), images (hình ảnh sản phẩm), giohang (dữ liệu đặt mua), và phanhoi (ý kiến phản hồi của khách).

3. AJAX mang lại lợi ích gì cho hệ thống so với mô hình web truyền thống?

Mô hình web truyền thống yêu cầu gửi toàn bộ trang lên máy chủ và tải lại toàn bộ nội dung mỗi khi có thao tác, gây ra hiện tượng màn hình trắng và độ trễ lớn. AJAX sử dụng đối tượng XMLHttpRequest để trao đổi dữ liệu bất đồng bộ trong nền, chỉ nạp và thay thế phần nội dung cần chỉnh sửa thông qua DOM, loại bỏ hiện tượng PostBack, từ đó tăng tốc độ phản hồi và mang lại trải nghiệm mượt mà.

4. Giao diện trang chủ của Website bán mỹ phẩm được phân chia thành những khu vực chính nào?

Trang chủ của website được thiết kế gồm 5 khu vực chính: Phần Menu (logo, thanh tìm kiếm, hotline, nút đăng nhập/đăng ký, menu điều hướng và giỏ hàng), Phần Slide (banner quảng cáo và danh mục bán chạy), Phần Giới thiệu (thông tin giới thiệu về dòng mỹ phẩm Hanayuki), Phần Content (danh sách sản phẩm bán chạy kèm hình ảnh, tên và giá niêm yết), và Phần Footer/Foster (chứa liên kết website và thông tin liên hệ của cửa hàng).

5. Tác giả đã chỉ ra những nhược điểm kỹ thuật nào khi ứng dụng kỹ thuật AJAX?

Các nhược điểm được tác giả nêu gồm: không thể lưu trang vào mục ưa thích (Bookmark/Favorite) do URL không đổi; nội dung tải ngầm khó được lập trình để tối ưu cho công cụ tìm kiếm (SEO); nút quay lại (Back) của trình duyệt không hoạt động theo từng bước tương tác ngầm; và hệ thống hoàn toàn phụ thuộc vào việc trình duyệt client có kích hoạt JavaScript hay không.


Kết luận

Khóa luận tốt nghiệp của sinh viên Trần Thị Diễm đã hoàn thành mục tiêu nghiên cứu bản chất kỹ thuật của AJAX và ứng dụng thực tế vào bài toán xây dựng website thương mại điện tử bán mỹ phẩm. Bằng việc kết hợp ngôn ngữ PHP, hệ quản trị MySQL, framework Bootstrap 3 và kỹ thuật AJAX, tác giả đã thiết kế và vận hành thành công hệ thống website với đầy đủ phân hệ quản trị và giao diện người dùng. Công trình phản ánh rõ quy trình phân tích thiết kế hệ thống thông tin chuẩn mực từ sơ đồ luồng dữ liệu DFD đến cơ sở dữ liệu 3NF, đồng thời chỉ ra các giá trị thực tiễn cùng những giới hạn kỹ thuật cần tiếp tục hoàn thiện khi ứng dụng AJAX trong phát triển web.