ajax實現(xiàn)改變狀態(tài)和刪除無刷新的實例
1. 01.php為主程序,調(diào)用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模板:內(nèi)容結(jié)合JS ajax使用:
<!DOCTYPE html>
<html>
<head>
<meta charset=utf-8>
<title>用戶權(quán)限展示表</title>
</head>
<body>
//給table體設(shè)置一個div,方便js調(diào)用
<div id="table">
<table align="center" border="1" width="500">
<center><h2>用戶權(quán)限表</h2></center>
<tr>
<th>uid</th><th>用戶名</th><th>密碼</th><th>鎖定狀態(tài)</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){
//創(chuàng)建ajax對象
var xhr=new XMLHttpRequest();
//打開一個鏈接
xhr.open('post','02.php');
//設(shè)置頭信息
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
//取值,多個參數(shù)用&分開
var data="is_lock="+lock+"&uid="+uid;
//發(fā)送ajax數(shù)據(jù)請求
xhr.send(data);
//設(shè)置回調(diào)、監(jiān)聽函數(shù)
xhr.onreadystatechange=function(){
//如果ajax狀態(tài)碼響應(yīng)正常且網(wǎng)絡(luò)正常,獲取響應(yīng)文本
if(xhr.readyState==4&&xhr.status==200){
if(xhr.responseText){
document.getElementById('table').innerHTML=xhr.responseText;
}else{
alert("切換狀態(tài)失敗!");
}
}
}
}
function del(uid){
var del=window.confirm("您確定要刪除嗎?");
if(del){
//創(chuàng)建ajax對象
var xhr=new XMLHttpRequest();
//打開一個鏈接
xhr.open('post','del.php');
//設(shè)置header頭
xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');
//data取值
var data="uid="+uid;
//發(fā)送ajax請求
xhr.send(data);
//設(shè)置監(jiān)聽
xhr.onreadystatechange=function(){
//如果ajax狀態(tài)碼響應(yīng)正常且網(wǎng)絡(luò)正常,獲取響應(yīng)文本
if(xhr.readyState==4&&xhr.status==200){
if(xhr.responseText){
//用ajax響應(yīng)內(nèi)容替換本模板中table標(biāo)簽的內(nèi)容
document.getElementById('table').innerHTML=xhr.responseText;
}else{
alert("刪除失??!");
}
}
}
}
}
</script>
</html>
3. 02.php改變狀態(tài)無刷新:
<?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){
//修改成功重新遍歷數(shù)據(jù)庫并輸出smarty模板
$lists=$db->getALL('users');
$smarty->assign('lists',$lists);
$smarty->display('list.html');
}else{
echo false;
}
?>
4.del.php實現(xiàn)刪除無刷新
<?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實現(xiàn)改變狀態(tài)和刪除無刷新的實例就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
ajax交互Struts2的action(客戶端/服務(wù)器端)
本文為大家探討下ajax交互Struts2的action并有客戶端及服務(wù)器端代碼,感興趣的朋友可以參考下,希望對大家有所幫助2013-08-08
Ajax請求發(fā)送成功但不進(jìn)success的解決方法
下面小編就為大家分享一篇Ajax請求發(fā)送成功但不進(jìn)success的解決方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-01-01
jQuery的ajax傳參巧用JSON使用示例(附Json插件)
jQuery的ajax調(diào)用很方便,傳參的時候喜歡用Json的數(shù)據(jù)格式,使用示例代碼如下,感興趣的朋友可以參考下,希望對大家有所幫助2013-08-08
使用ajax跨域調(diào)用springboot框架的api傳輸文件
這篇文章主要介紹了使用ajax跨域調(diào)用springboot框架的api傳輸文件,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-12-12
AJAX實現(xiàn)文件上傳功能報錯Current request is not a&n
這篇文章主要介紹了AJAX文件上傳功能實現(xiàn)中出現(xiàn)報錯Current request is not a multipart request的問題,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07

