2010-07-19 21 views
5

Có cách nào để chỉ định biểu mẫu thông qua loại hoặc url hành động để không mở phản hồi không? Nói cách khác, tôi muốn gửi thông tin đến máy chủ, nhưng không làm bất cứ điều gì trên máy khách. Tôi biết tôi có thể sử dụng ajax và bỏ qua phản hồi, nhưng tôi muốn tránh thêm tất cả các js vào mã của tôi nếu có thể.Có cách nào để bỏ qua phản hồi biểu mẫu không?

Chỉnh sửa: Tôi không muốn giới hạn bản thân mình ở dạng html. Trong trường hợp của tôi, các giải pháp phía máy chủ cũng được chấp nhận.

Trả lời

8

Có máy chủ trở lại HTTP 204 (Không có nội dung) sau khi Nộp mẫu. Theo the HTTP 1.1 spec:

10.2.5 204 Không có nội dung

Các máy chủ đã hoàn thành các yêu cầu nhưng không cần phải trả lại một thực thể thân , và có thể muốn trở cập nhật metainformation. Câu trả lời CÓ thể bao gồm thông tin mới mới hoặc được cập nhật dưới dạng tiêu đề thực thể, nếu có NÊN được liên kết với biến thể được yêu cầu.

Nếu khách hàng là đại lý người dùng, nó KHÔNG NÊN thay đổi chế độ xem tài liệu từ đó đã khiến yêu cầu gửi được gửi. Phản ứng này chủ yếu nhằm cho phép đầu vào cho các hành động nhằm diễn ra mà không gây ra một sự thay đổi để xem tài liệu hoạt động user agent của, mặc dù bất kỳ mới hoặc cập nhật metainformation NÊN được áp dụng cho tài liệu hiện tại người dùng đại lý của hoạt động lượt xem.

Phản hồi 204 KHÔNG PHẢI bao gồm nội dung thư và do đó luôn là bị chấm dứt bởi dòng trống đầu tiên sau trường tiêu đề.

Điều này nghe có vẻ giống như những gì bạn muốn.

+0

Hoàn hảo, cảm ơn! – Adam

0

Với ASP.NET bạn có thể có một trang xử lý bài đăng biểu mẫu và chỉ cần kết thúc phản hồi ngay lập tức, điều này sẽ để người dùng ở cùng một trang.

Tuy nhiên, không đáp ứng với người sử dụng ở tất cả không phải là kinh nghiệm người dùng tốt nhất .....

+0

Trải nghiệm người dùng thực sự là lý do cho câu hỏi. Hiện tại một tệp được trả về, nhưng trong trường hợp này nó bị trống và chúng tôi không muốn trình duyệt nhắc nhở bằng "mở/lưu". – Adam

4

thử điều này:

<iframe id="invisible" ... 

<form target="invisible" ... 
+1

Không chắc chắn lý do tại sao nó đã được downvoted, đây là một ý tưởng tốt, dễ thực hiện, và làm việc qua trình duyệt. – Kobi

+0

Điều này thực sự trả lời câu hỏi được đặt ra. Nếu câu hỏi là, "Có cách nào để bỏ qua phản hồi biểu mẫu" câu trả lời không phải là để thay đổi phản hồi nhưng để tìm cách, bạn biết, bỏ qua phản hồi. Kỹ thuật này vừa cứu thịt xông khói của chúng tôi. – Speck

0

Tôi thấy rằng thuộc tính tên cũng phải được chỉ định (tôi đã thử nghiệm trong IE11). Ví dụ:

<iframe id="invisible" name="invisible" style="display:none;"></iframe> 
<form method="post" target="invisible" action="url.com/whatever?x=y" id="fileForm" enctype="multipart/form-data"> 
Các vấn đề liên quan