2009-12-04 34 views
10

Tôi thích điều này, chúng tôi có tùy chọn cách chúng tôi lấy nội dung web từ máy chủ: chúng tôi có thể thực hiện yêu cầu HTTP kiểu cũ (với URL của chính nó trong trình duyệt) hoặc chúng tôi có thể thực hiện cuộc gọi AJAX và thay thế các phần của DOM khi đang di chuyển.Nhận nội dung: AJAX và cuộc gọi HTTP "thông thường"

Câu hỏi của tôi là: làm cách nào để bạn quyết định nên sử dụng phương pháp nào khi có tùy chọn để sử dụng?

Trong "ngày cũ", chúng tôi sẽ phải vẽ lại toàn bộ trang (bao gồm các phần không thay đổi) nếu chúng tôi muốn hiển thị nội dung cập nhật. Bây giờ AJAX đã trưởng thành, chúng ta không cần phải làm điều đó nữa; chúng tôi có thể, có thể tưởng tượng, hiển thị "trang" một lần và chỉ cập nhật các phần thay đổi nếu cần. Nhưng điều gì sẽ là hậu quả của việc làm như vậy? Có quy tắc hay về việc tải lại toàn bộ trang và tải lại một phần thông qua AJAX không?

Trả lời

12

Nếu bạn muốn mọi người có thể đánh dấu trang riêng lẻ, hãy sử dụng các yêu cầu HTTP.

Nếu bạn đang thay đổi ngữ cảnh, hãy sử dụng các yêu cầu HTTP.

Nếu bạn đang chia chức năng giữa các trang khác nhau để bảo trì tốt hơn, hãy sử dụng các yêu cầu HTTP.

Nếu bạn muốn tối đa hóa lượt xem trang của mình, hãy sử dụng các yêu cầu HTTP.

Rất nhiều lý do chính đáng để vẫn sử dụng yêu cầu HTTP - Ngăn xếp ngăn xếp là một ví dụ tuyệt vời về các phân chia giữa yêu cầu AJAX và HTTP. Tìm hiểu lý do tại sao mỗi chức năng là HTTP hoặc AJAX và tôi chắc chắn bạn sẽ có được nhiều lý do hơn khi sử dụng từng chức năng.

+3

Tôi rất quan tâm đến cuộc thảo luận này. Tuy nhiên, có một điểm tôi không hiểu: bạn có ý nghĩa gì bởi "thay đổi ngữ cảnh"? – balteo

+0

Thay đổi ngữ cảnh trong trường hợp này sẽ như sau: Tôi đang xem thông tin tài khoản séc của mình Bây giờ tôi đang thay đổi ngữ cảnh để xem xét tỷ lệ thế chấp. Tôi chưa rời trang web của ngân hàng, nhưng nhiệm vụ của tôi đã thay đổi: Tôi đã thay đổi ngữ cảnh. – MikeEL

5

quy tắc đơn giản của tôi:

làm tất cả mọi thứ ajax, đặc biệt nếu đây là một ứng dụng không chỉ trang nội dung. Trừ khi mọi người có thể muốn liên kết đến nội dung trực tiếp, như trong blog. Sau đó, dễ dàng hơn để làm các trang đầy đủ thông thường.

Tất nhiên có nhiều kết hợp được kết hợp, nó không phải là một hoặc hoàn toàn khác.

3

Khoản chi phí phát triển hợp lý đi vào tải lại một phần bằng AJAX. Bạn cần phải tạo thêm trình xử lý javascript cho tất cả dữ liệu được trả về. Nếu bạn trả lại các khối HTML đầy đủ, bạn sẽ vẫn cần xác định vị trí nội dung sẽ đi và có thay thế nội dung khác hay không. Bạn có khả năng phải tạo lại thẻ tiêu đề để phản ánh các thay đổi nội dung và bạn sẽ phải triển khai giải pháp lịch sử để đảm bảo công cụ tìm kiếm có thể lập chỉ mục mỗi trang (ví dụ: sử dụng plugin jQuery ví dụ: SWFAddress jQuery). Nếu bạn trả về dữ liệu được mã hóa JSON, bạn có một bước xử lý bổ sung.

Việc giảm tỷ lệ sử dụng băng thông bằng cách không sử dụng làm mới trang được bù đắp bằng sự gia tăng mã JS và sự kiện ràng buộc có thể ảnh hưởng đến tốc độ hiển thị trang cũng như hiệu ứng hình ảnh.

Tất cả thực sự phụ thuộc vào đối tượng mục tiêu của bạn và cảm nhận chung mà bạn đang cố gắng truy cập trên trang của bạn. AJAX và trình tải trước rất hào nhoáng và mọi người yêu thích những điều hào nhoáng. Nếu bạn cho rằng trải nghiệm người dùng cuối sẽ được cải thiện bằng cách thêm một phần tải trang bằng mọi cách, hãy triển khai chúng.

Các vấn đề liên quan