2012-11-08 29 views
11

Chúng tôi kéo dữ liệu từ máy chủ và cho rằng nếu chúng ta đang sử dụng Struts, sau đó chúng ta có thể kéo hoặc bằng cách gửi một trang mà MVC Kiến trúc hoặc chúng tôi cam thực hiện cuộc gọi AJAX nhưng ước là của việc sử dụng các hình thức và trả lời nhưng chúng tôi cũng phải đối mặt với những thách thức để mang lại trải nghiệm người dùng phong phú, vì vậy chúng tôi thỏa hiệp ước và bắt đầu sử dụng AJAX quá mức, vậy làm thế nào chúng ta nên cân bằng giữa hai?AJAX vs Mẫu thông

Trả lời

15

Cá nhân tôi nghĩ rằng AJAX nên được sử dụng để cập nhật hiển thị và gửi biểu mẫu phải được thực hiện thông qua tải lại trang. Lý luận?

Khi gửi biểu mẫu, bạn đang yêu cầu ứng dụng làm điều gì đó. Người dùng có xu hướng muốn cảm thấy rằng nó đã được thực hiện. Khi một trang không tải lại, người dùng thường tự hỏi "Đã làm việc đó chưa?". Sau đó, họ phải kiểm tra để chắc chắn rằng những gì họ đã làm là đúng.

Mặt khác, khi bạn đang hiển thị biểu đồ hoặc thứ gì đó và người dùng nói "hiển thị dữ liệu 2011 .... bây giờ dữ liệu 2012" chẳng hạn, họ không "làm" điều gì đó (tạo các thực thể mới) , gửi email, v.v.) Vì vậy, AJAX có thể cung cấp một giao diện người dùng tốt đẹp trong trường hợp này. Việc tải lại trang sẽ gây phiền toái ở đây. Trong kết luận, tôi nghĩ rằng việc gửi biểu mẫu nên được thực hiện thông qua tải lại trang (cho phép người dùng thấy nó hoạt động), trong khi các cập nhật hiển thị nên sử dụng AJAX (ngăn tải lại trang gây phiền nhiễu).

Tất nhiên, đây là điều ưu tiên. Một số ứng dụng của công ty tôi sử dụng AJAX. Nhưng đó là những ứng dụng khó duy trì và gỡ lỗi nhất.;)

+19

Bạn có thể muốn xem xét lại cách bạn nghĩ về ajax. Bạn có thực sự muốn trang tải lại khi bạn upvote, hoặc làm cho một bình luận trên SO? ajax thực hiện đúng là sạch sẽ và xuống cấp một cách duyên dáng. (Ngoài ra, một khía cạnh ngày, nhưng đáng kể dù sao, đặc biệt là với các thiết bị di động: ajax có thể tiết kiệm băng thông.) – bdares

+2

Tôi đồng ý. Tôi đã nói nhiều hơn "gửi biểu mẫu" như điền vào biểu mẫu. Nếu thay đổi của bạn không lớn, tôi đồng ý sử dụng AJAX. Tôi đã suy nghĩ nhiều hơn "thêm tất cả các dữ liệu này vào cơ sở dữ liệu", vv –

+0

"Hữu ích" upvote cho chỉ ra rằng. Ty. :) –

2

Nếu bạn có lỗi giữa các lần gửi dữ liệu, bạn chỉ có thể kiểm tra trên máy chủ phương thức biểu mẫu duy nhất. Mặt khác, nếu bạn thực hiện cuộc gọi Ajax, bạn có thể kiểm tra lỗi đó ở phía máy khách. Vì vậy, trong số các công nghệ truyền dữ liệu khác nhau này, chúng tôi có thể thực hiện theo một quyết định rằng chúng phục vụ các mục đích khác nhau.

7

Gửi biểu mẫu HTML thông thường và biểu mẫu ajax ưa ​​thích không loại trừ lẫn nhau.

Trước tiên, làm cho biểu mẫu HTML đơn giản hoạt động chính xác. Sau đó, thêm javascript để chiếm đoạt biểu mẫu và gửi yêu cầu ajax.

Bộ điều khiển và kiểu máy không quan tâm nếu trình duyệt của người dùng hỗ trợ javascript (hay đã bật). Chế độ xem được hiển thị được quyết định bởi liệu cuộc gọi được thực hiện bằng javascript hay gửi biểu mẫu đơn giản. Đây là một trong những điểm mạnh của mẫu MVC, không phải là một hạn chế.

5

Tôi nghĩ rằng sự lựa chọn giữa hai là phần nào nội tại:

  • gửi mẫu là đồng bộ và nó tải lại trang.

  • cuộc gọi ajax không đồng bộ và không tải lại trang.

Nếu một hành động nhất định sẽ thay đổi nhiều yếu tố giao diện người dùng hoặc cần thăm dò ý kiến, tôi sẽ gửi biểu mẫu. Mặt khác, nếu một hành động nhất định được sử dụng cho các hành động đơn giản, như điền vào một hộp chọn hoặc cải thiện trải nghiệm người dùng, thì tôi sẽ thực hiện cuộc gọi AJAX.

Không có gì tránh bạn sử dụng nhiều cuộc gọi ajax hoặc gửi biểu mẫu khi bạn cần, do đó, cuối cùng là tùy thuộc vào bạn.