0
点赞
收藏
分享

微信扫一扫

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

年夜雪 2022-03-15 阅读 43


前言:

        之前在写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;

}



?>


最后项目演示效果如下

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



举报

相关推荐

0 条评论