网页之间传输的三种方式: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();
})