温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ajax如何实现改变状态和删除无刷新

发布时间:2021-05-18 12:47:14 来源:亿速云 阅读:188 作者:小新 栏目:web开发

这篇文章给大家分享的是有关ajax如何实现改变状态和删除无刷新的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

1. 01.php为主程序,调用smarty模板遍历输出:

<?php   include './include/Mysql.class.php';   include './libs/Smarty.class.php';   $db=new Mysql;   $smarty=new Smarty;   $lists=$db->getALL('users');   $smarty->assign('lists',$lists);   $smarty->display('list.html'); ?>

2. list.html模板:内容结合JS ajax使用:

<!DOCTYPE html> <html> <head>   <meta charset=utf-8>   <title>用户权限展示表</title> </head> <body>     //给table体设置一个div,方便js调用     <div id="table">     <table align="center" border="1" width="500">       <center><h3>用户权限表</h3></center>       <tr>         <th>uid</th><th>用户名</th><th>密码</th><th>锁定状态</th><th>角色</th><th>操作</th>       </tr>         {foreach $lists as $list}         <tr align="center">           <td>{$list.uid}</td>           <td>{$list.username}</td>           <td>{$list.password}</td>           {if $list.is_lock==1}             <td><a href="javascript:lock(0,{$list.uid});" rel="external nofollow" >锁定</a></td>             {else}             <td><a href="javascript:lock(1,{$list.uid})" rel="external nofollow" ;>取消锁定</a></td>             {/if}               {if $list.role==1}               <td>管理员</td>           {else}               <td>编辑者</td>               {/if}           <td><a href="javascript:del({$list.uid})" rel="external nofollow" >删除</a></td>         </tr>           {/foreach}       </table>     </div>   </body>     <script type="text/javascript">       function lock(lock,uid){           //创建ajax对象           var xhr=new XMLHttpRequest();           //打开一个链接           xhr.open('post','02.php');           //设置头信息           xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');           //取值,多个参数用&分开           var data="is_lock="+lock+"&uid="+uid;           //发送ajax数据请求           xhr.send(data);           //设置回调、监听函数           xhr.onreadystatechange=function(){             //如果ajax状态码响应正常且网络正常,获取响应文本             if(xhr.readyState==4&&xhr.status==200){               if(xhr.responseText){                 document.getElementById('table').innerHTML=xhr.responseText;               }else{                 alert("切换状态失败!");               }             }           }         }     function del(uid){       var del=window.confirm("您确定要删除吗?");       if(del){         //创建ajax对象         var xhr=new XMLHttpRequest();         //打开一个链接         xhr.open('post','del.php');         //设置header头         xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');         //data取值         var data="uid="+uid;         //发送ajax请求         xhr.send(data);         //设置监听         xhr.onreadystatechange=function(){           //如果ajax状态码响应正常且网络正常,获取响应文本           if(xhr.readyState==4&&xhr.status==200){             if(xhr.responseText){               //用ajax响应内容替换本模板中table标签的内容               document.getElementById('table').innerHTML=xhr.responseText;             }else{               alert("删除失败!");             }           }         }       }     }         </script> </html>

3. 02.php改变状态无刷新:

<?php   include './include/Mysql.class.php';   include './libs/Smarty.class.php';   $lock=$_POST['is_lock'];   $uid=$_POST['uid'];   $smarty=new Smarty;   $db=new Mysql;   $result=$db->update('users',"is_lock=$lock","uid=$uid");   if($result){     //修改成功重新遍历数据库并输出smarty模板     $lists=$db->getALL('users');     $smarty->assign('lists',$lists);     $smarty->display('list.html');   }else{     echo false;   } ?>

4.del.php实现删除无刷新

<?php   include './include/Mysql.class.php';   include './libs/Smarty.class.php';   $db=new Mysql;   $smarty=new Smarty;   $uid=$_POST['uid'];   $res=$db->delete('users',$uid);   if($res>0){     $lists=$db->getALL('users');     $smarty->assign('lists',$lists);     $smarty->display('list.html');   }else{     echo false;   } ?>

什么是ajax

ajax是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术,可以通过在后台与服务器进行少量数据交换,使网页实现异步更新。

感谢各位的阅读!关于“ajax如何实现改变状态和删除无刷新”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI