ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库

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{ width: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="width:200px; height:35px; border:2px solid #60F">
16     <input type="text" id="name" style="width:196px; height:31px" />
17 </div>
18 <div id="list" style="width: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 ?>

 

posted @ 2017-06-16 10:34  陈山河z  阅读(349)  评论(0编辑  收藏  举报