zoukankan      html  css  js  c++  java
  • 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{ 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 ?>
  • 相关阅读:
    alt属性和title属性
    穷人和富人的区别
    JS经典源码:通用JavaScript脚本函数库
    网页弹出框
    男女交往必知15个真理
    alexa排名
    好男人找不到女朋友的根源
    小笑话集(全是经典!)不信你不笑(转)
    送到家服务网2009年3月26日顺利上线了!
    [转]互联网产品开发中的“快”字诀
  • 原文地址:https://www.cnblogs.com/chenshanhe/p/7026237.html
Copyright © 2011-2022 走看看