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="width: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>
时间: 2024-10-22 12:55:26

ajax的调用的相关文章

ajax如何调用后台定义的方法

ajax如何调用后台定义的方法:由于ajax的独特优势,使得它在当前大量网站得到了广泛的应用,下面就介绍一下ajax如何调用后台定义的函数,虽然比较简单,不过希望能够给初学者带来一定的帮助,代码如下:1.首先我们先创建一个antzone.aspx页面.2.在它的cs文件中创建如下函数: public static string mytest(string first, string second) { return return first+second; } 2.html代码如下: <form

LigerUi-js中ajax前台调用后台Json格式转换!(已解决)

LigerUi-js中ajax前台调用后台Json格式转换!(已解决) success: function (data, status) { var aaa = JSON2.stringify(data); alert(aaa ); } LigerUi-js中ajax前台调用后台Json格式转换!(已解决),布布扣,bubuko.com

HTML5+Ajax+Jquery调用Google搜索API实现搜索引擎,支持web,image,news,vedio4种模式!

原文:HTML5+Ajax+Jquery调用Google搜索API实现搜索引擎,支持web,image,news,vedio4种模式! 源代码下载地址:http://www.zuidaima.com/share/1550463589878784.htm web,image,news,vedio4种模式! 已经拿javaniu作出测试,下载即可查看 

jQuery AJAX实现调用页面后台方法

1.新建demo.aspx页面.2.首先在该页面的后台文件demos.aspx.cs中添加引用. using System.Web.Services; 3.无参数的方法调用. 大家注意了,这个版本不能低于.net framework 2.0.2.0已下不支持的.后台代码: [WebMethod] public static string SayHello() { return "Hello Ajax!"; } JS代码: $(function() { $("#btnOK&qu

jquery ajax异步调用

写程序的第一步都要知其然,至于知其所以然就要看个人的爱好了.下面说一下web开发中经常用的ajax. 这里是用的jquery框架实现的ajax异步调用.废话少说先上代码.(asp.net开发) var x=""; var y=""; $.ajax({ type: "post", url: "../ashx/RemoveHoliday.ashx", dataType: "json", data: { parm

ajax中调用回调函数

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <a href="javascript:void(0);" id="send">test</a> </bo

ajax 请求调用问题

http://localhost/dev/list 和  http://127.0.0.1/dev/list 最近在架构整体常规通用系统的解决方案,遭遇AJAX请求不执行的问题,刚开始以为Spring Security权限设置那里有问题 ajax 请求调用问题: 问题情景: 在http://127.0.0.1/dev/list页面中调用了http://localhost/dev/listUser 接口,,, 使用chrome显示跨域, response for preflight is inva

【原创经验分享】JQuery(Ajax)调用WCF服务

最近在学习这个WCF,由于刚开始学 不久,发现网上的一些WCF教程都比较简单,感觉功能跟WebService没什么特别大的区别,但是看网上的介绍,就说WCF比WebService牛逼多少多少,反正我刚开始入门,就没觉得多大区别啦,这次写的东西跟WebService一样,我们写了一个WCF,那当然就是要用的,要用的话,当然不能只能在.NET平台下用了,必须跨平台呀,所以,Ajax能调用,这个基本的要求就必须要实现的了,所以,本次经验分享就是写JQuery的Ajax调用WCF的服务了.   一.新建

跟我一起学extjs5(31--加入模块和菜单定义[4前台通过ajax来调用数据与展示])

跟我一起学extjs5(31--加入模块和菜单定义[4前台通过ajax来调用数据与展示]) 上一节已经把到现在为止的后台做好了,启动tomcat ,在浏览器中打入网址:http://localhost:8888/app/applicationinfo.do,就可以取得系统参数值.下面看一下在chrome调试器中的结果. 到此为止,后台暂告一段落,又要开始对前台的extjs的程序进行修改了. 首先要修改的是MainModel.js,在此js文件中加入构造函数: constructor : func

$.getJSON 返回值、AJAX异步调用步骤

//首先要判断用户录入的手机号是不是中国移动的,不是直接给出提示,并终止登录 if($("#cmUsername1").val().isMobile())//手机号码 { jQuery.ajax({ async: false,//必须同步!! url: G_CTX_ROOT+"/query/isJSorHNMobile", data: {mobile: $("#cmUsername1").val()}, dataType: "json&