ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

删除记录的最佳方法是什么:Laravel 5.2.15

2019-10-27 07:29:50  阅读:254  来源: 互联网

标签:laravel-5-2 laravel-5-1 php


我正在使用Laravel 5.2.15.

网页中有记录列表,每个记录都有“编辑”和“删除”按钮.我有两种删除记录的方法

>使用JQuery并将Ajax请求发送到服务器.
>在每行中放置一个用于删除按钮的表单标签.
我有以下问题

  1. In case I use Approach 1, can it cause any issue when the site will be viewed from Android or iPhone? I have another option to do Server side validation using Request class.
  2. In case of Approach 2, Will it make the page heavy? I am using Pagination, so 10 records will be displaced per page.
  3. Please guide me if I should go with which approach or please suggest if both approaches are incorrect.

解决方法:

您所提出的问题并不真正着眼于选择一个优先于另一个的主要原因.它们的主要区别在于将请求发送到服务器的方式以及刷新页面以显示结果的方式.

使用Ajax是一种非常常见的方法,它依赖于使用Javascript,这是很长一段时间以来在所有浏览器中都可用的技术.兼容性将不会成为问题,因为如果没有它,大多数Internet都将无法运行(您甚至可以使用第二种方法作为后备机制来使其工作).您发送的请求通常是对REST endpoint的HTTP DELETE请求,以便服务器随后知道删除record1.从服务器收到成功响应后,页面负责通过删除与刚删除的记录相对应的行来更新自身,并有可能获取新记录以使该页面上仍有10行.无需刷新页面,但需要一些Javascript.

您的第二种方法是旧式的,因为您提交的表单包含某种标识符,以便服务器知道该做什么.这是一个完整的页面加载,如果要正确执行,则应该是HTTP POST请求.在Post/Redirect/Get惯用语之后,服务器随后发送重定向响应,以便浏览器随后将触发另一个普通页面加载作为GET请求,以向用户显示更新的记录列表.您不必自己手动更新页面,而以重新加载烦人的页面为代价(在当前的时代已不再期望这样做了).

我的建议是采用第一种方法.这是一种现代的处理方式,并允许具有非重装页面.但是,它确实需要在客户端(使用Javascript)进行一些额外的工作来相应地更新页面.

附带说明一下,在两种情况下都必须真正注意CSRF.始终在服务器上执行的每个“更新”操作中都包含CSRF令牌.

1当然,您必须自己编写程序:)

2浏览器通常不支持GET和POST,尽管HTTP规范允许更多的请求方法.

标签:laravel-5-2,laravel-5-1,php
来源: https://codeday.me/bug/20191027/1942793.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有