Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 什么';在列表中删除大量链接的最佳方法是什么?_Html_Rest - Fatal编程技术网

Html 什么';在列表中删除大量链接的最佳方法是什么?

Html 什么';在列表中删除大量链接的最佳方法是什么?,html,rest,Html,Rest,删除请求应为POST(或DELETEs)。但是我们不能创建带有标记的POST/DELETE 是否真的有必要将单个删除按钮包装在一个巨大的中,并为页面上的约30个不同项目添加隐藏的CSRF标记,或者有更好的方法来实现这一点?您可以通过使用XmlHttpRequest发送POST请求,在纯JavaScript中实现这一点,正如这里所讨论的:根据我从评论中收集的信息,基本上有3种方法: 如问题中最初所述,将每个删除按钮包装在中 发出AJAX删除请求,并在完成时 使用jQuery(或其他前端框架)刷新U

删除请求应为POST(或DELETEs)。但是我们不能创建带有
标记的POST/DELETE


是否真的有必要将单个删除按钮包装在一个巨大的
中,并为页面上的约30个不同项目添加隐藏的CSRF标记,或者有更好的方法来实现这一点?

您可以通过使用
XmlHttpRequest
发送
POST
请求,在纯JavaScript中实现这一点,正如这里所讨论的:

根据我从评论中收集的信息,基本上有3种方法:

  • 如问题中最初所述,将每个删除按钮包装在
  • 发出AJAX删除请求,并在完成时
  • 使用jQuery(或其他前端框架)刷新UI元素
  • 重新加载整个页面
  • 使用单个
    元素将删除按钮链接到中间页面。这也可以用作确认页。
  • 使用JS自动提交表单

  • 带有完整页面重新加载功能的AJAX解决方案(2.2)对我来说似乎是最简单的解决方案。

    没有JS的解决方案:

    使用PHP创建一个登录页,该页面将处理删除并将您重定向回-这样,您就不必担心UI,甚至可以通过标准锚定标记发出get请求。用户流看起来比成功时使用AJAX+刷新更自然

    您甚至可以使用现有页面(我们称之为
    page.php
    ),例如:

    • 单击一个锚点,它将带您进入
      page.php?action=delete&token=123&ids=1-2-3-4-5
    • 页面将识别操作参数,验证令牌,并使用提交的ID删除项目
    • 完成后,它会将您重定向回
      page.php
      (这样URL看起来很好,用户点击刷新按钮时您就安全了)

    AJAX?(让我再问一次,如果只是为了对注释进行最小字符限制的话:AJAX?
    “但是我们不能创建带有标记的POST/DELETE”
    -为什么不呢?AJAX肯定是一个很好的方法。您可以为按钮或链接设置onclick事件,并在元素名称中包含待删除项的ID,然后运行AJAX函数通过post将该数据发送到将删除该数据的脚本。@Mark我知道您不想jQuery整个UI的感受。现在,我想你可以用PHP创建一个登录页来处理删除并将你重定向回来,这样,你就不用担心UI了,你甚至可以通过标准锚标记的get请求逃脱。这听起来可能有点奇怪,但如果对你有用的话。。。想做就做用户流看起来比成功时使用AJAX+刷新更自然。