有沒有辦法通過類型或動作url指定表單來不打開響應?換句話說,我想將信息發送到服務器,但不在客戶端上做任何事情。我知道我可以使用ajax並忽略響應,但是我希望儘可能避免將所有j添加到我的代碼中。有沒有辦法忽略表單回覆?
編輯:我不是故意限制自己的HTML表單。在我的情況下,服務器端解決方案也可以接受
有沒有辦法通過類型或動作url指定表單來不打開響應?換句話說,我想將信息發送到服務器,但不在客戶端上做任何事情。我知道我可以使用ajax並忽略響應,但是我希望儘可能避免將所有j添加到我的代碼中。有沒有辦法忽略表單回覆?
編輯:我不是故意限制自己的HTML表單。在我的情況下,服務器端解決方案也可以接受
有後,服務器返回HTTP 204(無內容)表格提交。據the HTTP 1.1 spec:
10.2.5 204無內容
服務器已完成要求 但並不需要返回 實體主體,並且可能要返回 更新的元信息。響應 可能包含新的或更新的 元信息,其形式爲 實體標題,如果存在 應該與 請求的變體相關聯。
如果客戶是用戶代理,它 不應改變從它的文件視圖 ,其引起 請求被髮送。這種反應主要是 旨在允許輸入用於操作至 發生而不引起的改變 用戶代理的活動文檔視圖, 雖然任何新的或更新 元信息應該在當前應用於 該文檔的用戶 劑的活性視圖。
204響應不得包含一個 消息體,因此總是 由頭字段後的第一個空行 終止。
這聽起來像是你想要的。
使用ASP.NET,您可以有一個處理表單發佈的頁面,並且只需立即結束響應,這將使用戶處於同一頁面。
然而,在所有的用戶沒有反應是不是最好的用戶體驗.....
用戶體驗實際上是問題的原因。目前一個文件被返回,但在這種情況下它是空的,我們不希望瀏覽器提示「打開/保存」。 – Adam 2010-07-19 16:53:56
我發現應該指定name屬性(我在IE11中測試過)。例如:
<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">
完美,謝謝! – Adam 2010-07-19 17:00:01