• ajax的调用


    源代码:
    <?php class DBDA { public $host = "localhost"; //服务器地址 public $uid = "root"; //数据库的用户名 public $pwd = "123"; //数据库的密码 //执行SQL语句,返回相应结果的函数 //$sql是要执行的SQL语句 //$type是SQL语句的类型,0代表增删改,1代表查询 //$db代表要操作的数据库 public function Query($sql,$type=1,$db="mydb") { //造连接对象 $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db); //判断连接是否成功 !mysqli_connect_error() or die("连接失败!"); //执行SQL语句 $result = $conn->query($sql); //判断SQL语句类型 if($type==1) { //如果是查询语句返回结果集的二维数组 return $result->fetch_all(); } else { //如果是其他语句,返回true或false return $result; } } //Ajax调用返回JSON public function JsonQuery($sql,$type=1,$db="mydb") { //定义数据源 $dsn = "mysql:dbname={$db};host={$this->host}"; //造pdo对象 $pdo = new PDO($dsn,"{$this->uid}","{$this->pwd}"); //准备执行SQL语句 $st = $pdo->prepare($sql); //执行预处理语句 if($st->execute()) { if($type==1) { $attr = $st->fetchAll(PDO::FETCH_ASSOC); return json_encode($attr); } else { if($st) { return "OK"; } else { return "NO"; } } } else { echo "执行失败!"; } } //Ajax调用返回字符串 public function StrQuery($sql,$type=1,$db="mydb") { //造连接对象 $conn = new MySQLi($this->host,$this->uid,$this->pwd,$db); //判断连接是否成功 !mysqli_connect_error() or die("连接失败!"); //执行SQL语句 $result = $conn->query($sql); //判断SQL语句类型 if($type==1) { $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 { //如果是其他语句,返回true或false if($result) { return "OK"; } else { return "NO"; } } } }

    处理php

    <?php
    //接收传递过来的参数
    $uid = $_POST["u"];
    //查数据库
    include("DBDA.php");
    $db = new DBDA();
    
    $sql = "select count(*) from Users where Uid='{$uid}'";
    
    $attr = $db->Query($sql);
    
    if($attr[0][0] == 1)
    {
        echo "NO";
    }
    else
    {
        echo "OK";
    }

    设置登录页面

    <h1>登录</h1>
    <div>用户名:<input type="text" id="uid" /></div>
    <div>密码:<input type="text" id="pwd" /></div>
    <div><input type="button" id="btn" value="登录" /></div>
    
    <div id="test" style="100px; height:100px; background-color:#F30"></div>
    
    </body>
    <script type="text/javascript">
    $(document).ready(function(e) {
        /*
        数据传输:同步:传输必须等到接收方接收到,才能传下一个。异步:传输不用等到对方接收就可以继续传递。
        
        AJAX:同步:AJAX必须处理完才能继续向下执行。异步:AJAX在处理数据的同时代码继续往下执行
        */
        
        
        
        $("#btn").click(function(){
            
            var uid = $("#uid").val();
            var pwd = $("#pwd").val();
            
            $.ajax({
    
                url:"LoginChuLi.php",
                data:{u:uid,p:pwd},
                type:"POST",
                dataType:"TEXT",
                success: function(data){
                    
                    if(data=="OK")
                    {
                        window.location = "test.php";
                    }
                    else
                    {
                        alert("用户名或密码错误!");
                    }
                    
                    },
                
                });
            
            })
            
            $("#test").click(function(){
                $("#test").html("");
                $.ajax({
                    async:false, //变为同步AJAX
                    url:"TestCL.php",
                    datatype:"TEXT",
                    success:function(data){
                        $("#test").html(data);
                        
                        }
                    });
                    
                    
                    alert($("#shuju").html());
                
                })
        
    });
    </script>

    以上要注意同步跟异步的区别

    处理php

    <?php
    $uid = $_POST["u"];
    $pwd = $_POST["p"];
    
    include("DBDA.php");
    $db = new DBDA();
    
    $sql = "select count(*) from Users where Uid='{$uid}' and Pwd='{$pwd}'";
    
    $attr = $db->Query($sql);
    
    if($attr[0][0]==1)
    {
        echo "OK";
    }
    else
    {
        echo "NO";
    }

    处理shuju的php

    <?php
    
    echo "<div id='shuju'>hello world</div>";

    调用ajax

    <div><input type="text" id="uid" /><span id="xinxi"></span></div>
    </body>
    
    <script type="text/javascript">
    $(document).ready(function(e) {
        
        $("#uid").blur(function(){
            
            //把文本框的值取出来
            var uid = $(this).val();
            
            //调用ajax
            $.ajax({
                
                url:"ChuLi.php",//处理页面
                data:{u:uid}, //传递的数据,JSON数据
                type:"POST", //提交方式
                datatype:"TEXT", //返回数据的类型
                success:function(data){ //回调函数
                        
                        if(data=="OK")
                        {
                            var str = "该用户名可以使用!";
                            $("#xinxi").html(str);
                        }
                        else
                        {
                            var str = "<span style='color:red'>该用户名已经存在!</span>";
                            $("#xinxi").html(str);
                        }
                    }
                
                });
            
            
            })
        
    });
    </script>
  • 相关阅读:
    Sublime Text 3下载安装以及安装HTML-CSS-JS Prettify代码格式化插件
    eclipse升级Android SDK Tool版本到25.2.5后运行项目报错Unable to build: the file dx.jar was not loaded from the SDK folder
    MySQL字符集与排序规则总结
    windows版mysql安装
    maven 引入qrcode.jar
    Java Web 项目目录规范
    JAVA WEB项目目录结构以及web应用部署的根目录,编译路径和项目根目录的区别
    java实现二维码的生成和解读
    <![CDATA[]]>和转义字符
    jvm参数调优
  • 原文地址:https://www.cnblogs.com/xingfudehuanyan/p/5498645.html
Copyright © 2020-2023  润新知