1.ajax的基础知识
ajax是结合了jquery、php等几种技术延伸出来的综合运用的技术,不是新的内容。ajax也是写在<script>标签里面的。
如果使用ajax一定是要有1个处理页面的,处理页面只是操作数据库并且返回值,页面都是ajax处理的。
ajax的写法:
test.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <script src="../jquery-1.11.2.min.js"></script> 6 <title>无标题文档</title> 7 <!--引入jquery包--> 8 <script src="../jquery-1.11.2.min.js"></script><!--引入的jquery一定是在最上面的--> 9 <style type="text/css"> 10 </style> 11 </head> 12 <body> 13 14 <script type="text/jscript"> 15 $.ajax({//()里面是JSON数据,外层要加上{}。 16 url:"chuli.php",//处理页面地址,表示ajax要用哪个页面处理 17 data:{code:"n001"},//传递到处理页面的值,也是JSON数据,要用{}。如果传2个值就在{}里面加逗号,再写另外1个值。 18 type:"POST",//传值方式,一般用POST方式,注意POST要大写。 19 dataType:".TEXT",//返回值的类型。1.TEXT文本,字符串。2.JSON数据 3.XML可扩展标记语言,主要用在数据传递。 20 success:function(data){//表示处理成功之后做什么,后面跟一个匿名函数。回调函数,表示处理页面处理完数据以后执行这个函数。data表示处理页面返回的值,用形参接收。 21 22 }, 23 error:function(){//处理页面出错以后执行的函数。 24 25 } 26 }); 27 </script> 28 29 </body> 30 </html>
chili.php
1 <?php 2 $code = $_POST["code"]; 3 include("../DBDA.class.php"); 4 $db = new DBDA(); 5 $sql = "select name from nation where code='{$code}'"; 6 echo $db->StrQuery("$sql");//ajax的数据返回的话就直接输出 7 ?>
2.用ajax做登录页面
denglu.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <script src="../jquery-1.11.2.min.js"></script> 6 <title>无标题文档</title> 7 </head> 8 <body> 9 <div>用户名:<input type="text" id="uid" /></div> 10 <div>密码:<input type="text" id="pwd" /></div> 11 <div><input type="button" value="登录" id="btn" /></div> 12 </body> 13 14 <script type="text/javascript"> 15 16 $(document).ready(function(e) { 17 $("#btn").click(function(){//给按钮加点击事件 18 19 //取用户名和密码 20 var u = $("#uid").val();//取输入的用户名 21 var p = $("#pwd").val();//取输入的密码 22 23 //调ajax 24 $.ajax({ 25 url:"dengluchuli.php", 26 data:{u:u,p:p},//第二个u和p只是变量,可以随意写,dengluchuli.php里面的u和p都是第一个。 27 type:"POST", 28 dataType:"TEXT", 29 success: function(data){ 30 if(data.trim()=="OK")//要加上去空格,防止内容里面有空格引起错误。 31 { 32 window.location.href="main.php";//js跳转页面,要记住。 33 } 34 else 35 { 36 echo("用户名或密码错误"); 37 } 38 39 } 40 41 }); 42 43 }) 44 }); 45 46 </script> 47 48 </html>
dengluchuli.php
1 <?php 2 $uid = $_POST["u"]; 3 $pwd = $_POST["p"]; 4 include("../DBDA.class.php"); 5 $db = new DBDA(); 6 $sql = "select password from login where username='{$uid}'"; 7 $mm = $db->StrQuery($sql); 8 if($mm == $pwd && $pwd!="") 9 { 10 echo "OK"; 11 } 12 else 13 { 14 echo "NO"; 15 } 16 ?>
3.用ajax验证用户名是否可用
testuid.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <script src="../jquery-1.11.2.min.js"></script> 6 <title>无标题文档</title> 7 </head> 8 9 <body> 10 <input type="text" id="uid" /> 11 <span id="ts"></span> 12 13 </body> 14 15 <script type="text/javascript"> 16 17 $("#uid").blur(function(){//blur表示失去焦点时触发 18 19 //取用户名 20 var uid = $("#uid").val(); 21 22 //调ajax 23 $.ajax({ 24 url:"uidchuli.php", 25 data:{u:uid}, 26 type:"POST", 27 dataType:"TEXT", 28 success: function(data){ 29 if(data>0) 30 { 31 $("#ts").html("该应户名已存在"); 32 $("#ts").css("color","red"); 33 } 34 else 35 { 36 $("#ts").html("该应户名可用"); 37 $("#ts").css("color","green"); 38 } 39 } 40 41 }); 42 43 }) 44 45 46 </script> 47 48 </html>
uidchuli.php
1 <?php 2 $uid = $_POST["u"]; 3 include("../DBDA.class.php"); 4 $db = new DBDA(); 5 $sql = "select count(*) from login where username='{$uid}'"; 6 echo $db->StrQuery($sql); 7 ?>
4.动态调用数据库,搜索框里输入关键字,内容中含关键字的自动出现在输入框下面。
list.php
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 2 <html xmlns="http://www.w3.org/1999/xhtml"> 3 <head> 4 <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 5 <script src="../jquery-1.11.2.min.js"></script> 6 <title>无标题文档</title> 7 <style type="text/css"> 8 *{ margin:0px auto; padding:0px} 9 .l{ 200px; height:30px; text-align:center; line-height:30px; vertical-align:middle; border-bottom:1px solid #60F} 10 </style> 11 </head> 12 13 <body> 14 <br /> 15 <div style="200px; height:35px; border:2px solid #60F"> 16 <input type="text" id="name" style="196px; height:31px" /> 17 </div> 18 <div id="list" style="200px; height:500px; border:2px solid #60F; border-top:0px"></div> 19 </body> 20 21 <script type="text/javascript"> 22 $("#name").keyup(function(){ 23 //取名称 24 var n = $(this).val(); 25 if(n!="") 26 { 27 //调ajx 28 $.ajax({ 29 url:"listchuli.php", 30 data:{n:n}, 31 type:"POST", 32 dataType:"TEXT", 33 success: function(data){ 34 var sz = data.split("|"); 35 36 var str = ""; 37 38 for(var i=0;i<sz.length;i++) 39 { 40 str = str+"<div class='l'>"+sz[i]+"</div>"; 41 } 42 $("#list").html(str); 43 44 } 45 46 }); 47 } 48 else 49 { 50 $("#list").html(""); 51 } 52 53 }) 54 55 </script> 56 57 </html>
listchuli.php
1 <?php 2 $name = $_POST["n"]; 3 include("../DBDA.class.php"); 4 $db = new DBDA(); 5 $sql = "select areaname from chinastates where areaname like'%{$name}%'"; 6 echo $db->StrQuery($sql); 7 ?>