网页之间传输的三种方式:TEXT、JSON、XML。
本章将讲解带有TEXT形势的ajax网页传输
第一:body部分代码
<title>ajax中TEXT讲解并且带有删除功能的表格</title>
<script src="jquery-2.0.0.min.js"></script>
<style type="text/css">
.sc
{
width:70px;
height:30px;
background-color:#3FF;
color:#F00;
text-align:center;
line-height:30px;
vertical-align:middle;
font-size:20px;
}
.sc:hover
{
cursor:pointer;
background-color:#096;
}
</style>
</head> <body>
<input type="button" value="显示数据" id="btn"/>
<table id="xianshi" width="100%" border="1" cellpadding="0" cellspacing="0"> </table>
</body>
第二:点击“显示数据”需要用到的chuli.php代码
<?php
include("DBDA.class.php");
$db=new DBDA(); $sql="select * from info"; //自己写语句
/*$attr=$db->Query($sql); $str="";
foreach($attr as $v)
{
$str=$str.implode("^",$v);
$str=$str."|";
} $str=substr($str,0,strlen($str)-1); //截取最后的“|”*/ //调用封装类里面的函数
$re=$db->StrQuery($sql); echo $re;
AJAX调用返回字符串所引用的StrQuery()函数
//AJAX调用返回字符串
function StrQuery($sql,$type=0,$ku="mydb")
{
$db=new MySQLi($this->host,$this->uid,$this->pwd,$ku); !mysqli_connect_error() or die ("连接失败"); $result=$db->query($sql); //当为查询语句时
if($type==0)
{
$attr=$result->fetch_all();
$str=""; for($i=0;$i<count($attr);$i++)
{
for($j=0;$j<count($attr[$i]);$j++)
{
$str=$str.$attr[$i][$j];
$str=$str."^";
}
$str=substr($str,0,strlen($str)-1);
$str=$str."|";
}
$str=substr($str,0,strlen($str)-1); return $str;
}
//增删改语句
else
{
if($result)
{
return "OK";
}
else
{
return "NO";
}
}
}
第三:JScript中运行的“显示数据”用到的js代码函数
function Showall()
{
$.ajax({ async:false,
url:"chuli02.php",
dataType:"TEXT",
success: function(data){ var str="<tr align='center'><td>代号</td><td>姓名</td><td>性别</td><td>民族</td><td>生日</td><td>操作</td><tr>"; var hang=data.split("|"); //以“|”截取 for(var i=0;i<hang.length;i++){ var lie=hang[i].split("^"); //str+="<tr align='center'><td>"+lie[0]+"</td><td>"+lie[1]+"</td><td>"+lie[2]+"</td><td>"+lie[3]+"</td><td>"+lie[4]+"</td><td><div class='sc' bs='"+lie[0]+"'>删除</div></td></tr>"; str+="<tr align='center'>"; for(var j=0;j<lie.length;j++)
{
str+="<td>"+lie[j]+"</td>";
} str+="<td><div class='sc' bs='"+lie[0]+"'>删除</div></td>"; str+="</tr>";
} $("#xianshi").html(str);
}
})
第四:表格中点击“删除”后台运行的代码delete.php
<?php
$code=$_POST["code"];
include("DBDA.class.php");
$db=new DBDA(); $sql="delete from info where code='{$code}'"; $r=$db->Query($sql,1); //1代表增删改,默认0代表查询
if($r)
{
echo "OK";
}
else
{
echo "NO";
}
第五:JScript中“删除”用到的js函数代码
function BindCK(){ $(".sc").click(function(){ var code=$(this).attr("bs"); $.ajax({ url:"delete03.php",
data:{code:code},
type:"POST",
dataType:"TEXT",
success:function(data){ if(data=="OK"){ Showall();
BindCK(); }
else{ alert("删除失败!");
} }
}) }) }
第六:JScript中两个函数代码整合在一起的调用的代码
$("#btn").click(function(){ Showall(); BindCK(); })