Nền: Chúng tôi đang trong quá trình viết trang đăng ký/thanh toán và triết lý của chúng tôi là mã hóa tất cả xác thực và kiểm tra lỗi ở phía máy chủ trước, sau đó thêm khách hàng bên xác nhận là bước thứ hai (un-obstructive jQuery).Hành vi của bài đăng biểu mẫu có thay đổi trong các trình duyệt hiện đại không? (hoặc số nhấp chuột được xử lý bởi trình duyệt)
Chúng tôi muốn vô hiệu hóa phía máy chủ nhấp đúp, vì vậy, chúng tôi đã viết một số mã khóa an toàn, chủ đề để xử lý các bài viết/điều kiện chủng tộc đồng thời. Khi chúng tôi cố gắng kiểm tra điều này, chúng tôi nhận ra rằng chúng tôi không thể gây ra một tình huống hoặc tình trạng chủng tộc đồng thời xảy ra.
Tôi nghĩ rằng (trong trình duyệt cũ hơn anyway) double click chuột vào nút gửi làm việc như sau:
- tài nhấp chuột đúp nút gửi.
- Trình duyệt gửi một bài đăng trên nhấp chuột đầu tiên
- Khi nhấp lần thứ hai, trình duyệt sẽ hủy/bỏ qua bài đăng ban đầu và khởi tạo bài đăng thứ hai (trước khi bài đăng đầu tiên trả về).
- Trình duyệt chờ bài đăng thứ hai trở lại, bỏ qua phản hồi bài đăng ban đầu.
Tôi nghĩ rằng từ phía máy chủ nó trông như thế này: Máy chủ được hai bài yêu cầu đồng thời, thực hiện và đáp ứng cho họ cả (không biết rằng không ai được nghe câu trả lời đầu tiên).
Từ thử nghiệm của chúng tôi (FireFox 3.0, IE 8.0) đây là những gì thực sự xảy ra:
- tài nhấp chuột đúp nút gửi
- trình duyệt sẽ gửi một bài cho các nhấp chuột đầu tiên
- trình duyệt xếp hàng lên lần nhấp thứ hai, nhưng chờ phản hồi từ lần nhấp đầu tiên.
- Trả về phản hồi từ lần nhấp đầu tiên (phản hồi bị bỏ qua?).
- Trình duyệt gửi một bài đăng cho lần nhấp thứ hai.
Vì vậy, từ phía máy chủ: Máy chủ nhận được một bài đăng mà nó thực hiện và trả lời. Sau đó, máy chủ sẽ nhận được yêu cầu thứ hai mà nó thực thi và trả lời.
Câu hỏi của tôi là, điều này luôn luôn hoạt động theo cách này (và tôi đang mất trí)? Hoặc đây có phải là một tính năng mới trong các trình duyệt hiện đại để ngăn các bài viết đồng thời được gửi đến máy chủ không?
Dường như đối với phòng ngừa nhấp đúp vào phía máy chủ, chúng tôi không phải lo lắng về các bài đăng đồng thời hoặc điều kiện chủng tộc. Chỉ cần lo lắng về việc xếp hàng các bài đăng.
Cảm ơn bạn trước vì đã gửi phản hồi/nhận xét.
Alex
+1 Câu hỏi rất rõ ràng và thật thú vị khi xem sơ đồ hành động của người dùng. Tôi không chắc chắn về câu trả lời, nhưng mọi thứ nói chung * có * được tiến hành thay vì tôn vinh một cú nhấp chuột hơn hai lần - nhấp đúp là mô hình cũ hơn, làm trung tâm trên máy tính để bàn. –
Cập nhật: Hành vi có vẻ khác với IE8 (cho phép nhiều bài đăng đồng thời tới máy chủ) và FF/Chrome (xếp hàng nhiều lần nhấp). Tôi sẽ đăng nhiều phát hiện hơn khi chúng tôi thử nghiệm nhiều hơn. –