刪除請求應該是POST(或DELETE)。但我們無法使用<a>
標籤創建POST/DELETE。在列表中做一堆刪除鏈接的最佳方式是什麼?
是否真的有必要在一個巨大的<form>
中包裝一個單一的刪除按鈕,並在頁面上隱藏約30個不同項目的隱藏CSRF標記,還是有更好的方法來處理這個問題?
刪除請求應該是POST(或DELETE)。但我們無法使用<a>
標籤創建POST/DELETE。在列表中做一堆刪除鏈接的最佳方式是什麼?
是否真的有必要在一個巨大的<form>
中包裝一個單一的刪除按鈕,並在頁面上隱藏約30個不同項目的隱藏CSRF標記,還是有更好的方法來處理這個問題?
您可以通過發送POST
請求與XmlHttpRequest
做,在純JavaScript,因爲這裏討論:Send POST data using XMLHttpRequest
從我的意見收集,有基本的方法3:
<form>
每個刪除按鈕在問題最初說<form>
元件。這也可以用作確認頁面。
的AJAX解決方案與重新加載整個頁面(2.2)聽起來就像將產生至少克魯夫特我自動提交本身。
沒有JS:A液
請用PHP的登陸頁將處理刪除和重定向你回來 - 這樣,你就沒有對UI的憂慮,你甚至可以逃脫一個GET來自標準錨標籤的請求。用戶流程看起來比成功進行AJAX +刷新更自然。
你甚至可以使用現有的頁面(姑且稱之爲page.php
),例如:
page.php?action=delete&token=123&ids=1-2-3-4-5
page.php
(所以URL看起來又漂亮,你是安全與用戶點擊刷新按鈕)
AJAX? (讓我再問一次,如果僅僅爲了評論的最小字符限制:AJAX?) – CBroe
'「但我們不能用標籤創建POST/DELETE」 - 爲什麼不? – Shomz
阿賈克斯絕對是一個很好的選擇。您可以爲按鈕或鏈接設置onclick事件,並在元素名稱中包含待刪除項目的ID,然後運行AJAX功能通過發佈將該數據發送到將刪除它的腳本。 –