PHP批量删除jQuery操作,Ajax异步请求案例

前言:

        之前在写Web作业的时候遇到了这么一个问题,就是如何实现多行删除,因为涉及的后台系统,这一个是非常关键的,但没很好的解决的异步和同步的问题,因此每次多行删除就像一个‘’梗“一样,怎么也迈不过去,记录下来。

 

前端部分:
 

我们编写一个 链接去跳转

<a onclick="del_more()"  class="btn btn-danger radius"><i class="Hui-iconfont">&#xe6e2;</i> 批量删除</a>

在JS 里通过调用del_more()

 

/*多行删除*/

    function del_more()

    {

        var ids=$(':checkbox');

           var str='';

           var count=0;

           for(var i=0;i<ids.length;i++){

            if(ids.eq(i).is(':checked')){

            str+=','+ids.eq(i).val();

             count++;

            }

        }

        var str=str.substr(1);

        //substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。 处理我们第一个为,

        layer.confirm(

            '你确定要删除这'+count+'条数据吗?'+str,

            {btn : [ '确定', '取消' ]},

            function(){

            {

            $.ajax({

                 type:'get',

                 url:'../../php/admin/users_del.php',

                 data:{str:str},

                 success:function(msg)

                 {             

                       for(var i=ids.length-1;i>=0;i--)

                       {    

                        if(ids.eq(i).is(':checked'))

                        {

                         ids.eq(i).parent().parent().remove();

                        }

                       }    

                 }

                })

             layer.msg('成功删除共'+count+'条数据', {

                    time: 5000, //5s后自动关闭

                btn: ['明白了', '哦']

              });

               }}

               );

           return false;

    }    

其实这里存在一个JS与PHP交互的知识,

首先我们要区分好同步和异步的问题,因为在这个地方我们要去访问一个新的页面

如果我们采用同步,那么直接在新的页面上进行相应跳转即可;

Notes:

但如果我们用AJAX做异步处理的时候,Ajax访问新的页面后依然在等待新的页面传递消息给旧的页面,也只能在旧的页面做重定向

js 重新定向:

window.location.href="url";
这里的删除我们是异步进行操作,异步操作



$.ajax({

                 type:'get',

                 url:'../../php/admin/users_del.php',

                 data:{str:str},

                 success:function(msg)

                 {             

                       for(var i=ids.length-1;i>=0;i--)

                       {    

                        if(ids.eq(i).is(':checked'))

                        {

                         ids.eq(i).parent().parent().remove();

                        }

                       }    

                 }

                })

 

后端部分:

 

这时候我们对请求进行处理,用PHP编写

<?php

/**

* @Author: LYD

* @Date:   2018-11-17 12:52:11

* @Last Modified by:   LYD

* @Last Modified time: 2018-11-26 18:58:32

*/

    // 初始化一些数据

   require '../../config/config.php';//加载配置文件

    if ($_SERVER['REQUEST_METHOD'] == 'GET'){

         list($result,$affectTotal)=sign_del($dbc);

         $_SESSION["msg"] = ($result)? "删除了".$affectTotal."记录成功!" : "抱歉,删除失败";

        //redirect_to('admin/users_show.php');

         exit;

     }



?>

 

最后项目演示效果如下

 

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

忆_恒心

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值