2015-08-14 32 views
0

刪除請求應該是POST(或DELETE)。但我們無法使用<a>標籤創建POST/DELETE。在列表中做一堆刪除鏈接的最佳方式是什麼?

是否真的有必要在一個巨大的<form>中包裝一個單一的刪除按鈕,並在頁面上隱藏約30個不同項目的隱藏CSRF標記,還是有更好的方法來處理這個問題?

+1

AJAX? (讓我再問一次,如果僅僅爲了評論的最小字符限制:AJAX?) – CBroe

+0

阿賈克斯絕對是一個很好的選擇。您可以爲按鈕或鏈接設置onclick事件,並在元素名稱中包含待刪除項目的ID,然後運行AJAX功能通過發佈將該數據發送到將刪除它的腳本。 –

回答

0

從我的意見收集,有基本的方法3:

  1. 總結在<form>每個刪除按鈕在問題最初說
  2. 問題的AJAX DELETE請求,並將其完成時,無論是
    1. 與jQuery(或其他前端框架)刷新UI元素
    2. 刷新整個頁面
  3. 請刪除按鈕鏈接到一箇中間頁面與單個<form>元件。這也可以用作確認頁面。
    1. 有形式JS

的AJAX解決方案與重新加載整個頁面(2.2)聽起來就像將產生至少克魯夫特我自動提交本身。

1

沒有JS:A液

請用PHP的登陸頁將處理刪除和重定向你回來 - 這樣,你就沒有對UI的憂慮,你甚至可以逃脫一個GET來自標準錨標籤的請求。用戶流程看起來比成功進行AJAX +刷新更自然。

你甚至可以使用現有的頁面(姑且稱之爲page.php),例如:

  • 點擊一個錨,將帶你到page.php?action=delete&token=123&ids=1-2-3-4-5
  • 頁面將識別動作參數,驗證令牌並刪除與所提交的ID項目
  • 它完成後,它會將您重定向回page.php(所以URL看起來又漂亮,你是安全與用戶點擊刷新按鈕)
相關問題