当前位置:首页 > 开发 > 亚博体育下载 > Ajax > 正文

Ajax交互demo1

发表于: 2015-11-13 ? 作者:互联网 ? 来源:转载 ? 浏览:
摘要:亚博体育下载 一、概念 Ajax异步请求刷新。 浏览器在用户不知道的情况下,偷偷地跟服务器交互,然后返回数据给浏览器显示。 ? 异步过程:当HTTP请求发送后,通过Ajax技术使用的XMLHttpRequest对象来发送,此时不需等待服务器响应处理,返回数据等操作,用户可直接在浏览器界面进行下一步操作。异步过程是Ajax的HTTP请求和用户输入数据等操作是异步的。 二、例子 实现的例子效果

一、概念

Ajax异步请求刷新。

浏览器在用户不知道的情况下,偷偷地跟服务器交互,然后返回数据给浏览器显示。

?

异步过程:当HTTP请求发送后,通过Ajax技术使用的XMLHttpRequest对象来发送,此时不需等待服务器响应处理,返回数据等操作,用户可直接在浏览器界面进行下一步操作。异步过程是Ajax的HTTP请求和用户输入数据等操作是异步

二、例子

实现的例子效果

Ajax交互demo1

选择任意一个明星的名字,浏览器就会偷偷发送HTTP请求服务器请求该明星的资料,并且返回回来。实现了一个页面局部刷新。

Ajax交互demo1

代码:

1、首先要先初始化一个XMLHttpRequest对象

兼容不同的浏览器

function GetXmlHttpObject()                 //获取XmlHttpRequest对象

    {

        var xmlHttp = null;

        try

        {

            //FF opera 8.0+

            xmlHttp = new XMLHttpRequest();

        }

        catch(e)

        {

            try

            {

                xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");

            }

            catch(e)

            {

                xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");                         //IE浏览器支持ActiveXObject

            }

        }

        return xmlHttp;

    }

?

2、初始化XMLHttpRequest对象后,进行处理

function showCustomers(str)

    {

        xmlHttp = GetXmlHttpObject();

        if (xmlHttp == null)

        {

            alert("浏览器不支持Http 请求");

            return;

        }



        var url = "showCustomers.php";

        url = url+"?q="+str;

        url = url+"&sid="+Math.random();          //参数sid:避免回送的是缓存数据

        xmlHttp.onreadystatechange = stateChanged;//每当 readyState 属性改变时,就会调用该函数。

        xmlHttp.open("GET",url,true);             //(请求方式,请求地址,以及是否异步处理请求)

        xmlHttp.send(null);                       //将请求发送到服务器 string:仅用于 POST 请求

    }

?

设置要请求的url,然后onreadystatechange(状态改变,调用函数),open,send。这样就完成了一个ajax局部刷新请求。

当状态改变时,我们将从服务器返回数据回来。

function stateChanged()

    {

        if (xmlHttp.readyState ==4 || xmlHttp.readyState=="complete")//存有 XMLHttpRequest 的状态01234

        {

            document.getElementById('txtHint').innerHTML = xmlHttp.responseText;

        }

    }

?

这个例子里,返回的数据就是从服务器返回选择的明星的信息过来,并打印在表格上。

我的数据表如图:

Ajax交互demo1

思路总结:

在html文件中,发出一个Http请求,Ajax实现这个请求,但是语言还是用Javascript去实现的。

Ajax实现这个请求的过程需要先生成XMLHttpRequest对象,然后提交给某个url地址(xxx.php),最后,XMLHttpRequest对象状态改变如何处理,XMLHttpRequest对象open、send。局部刷新ok。

四、完整代码

showCustomer.html











Ajax实现交互















    

客户信息将在此处列出...
showCustomers.php php $q=$_GET["q"]; //获取前台页面传输过来的参数 哪位帅锅的 $con = mysql_connect('localhost', 'root', 'abc-123'); if (!$con) { die('Could not connect: ' . mysql_error()); } mysql_select_db("fsd", $con); $sql="SELECT * FROM test WHERE id = '".$q."'"; $result = mysql_query($sql); echo "
姓名 性别
"; while($row = mysql_fetch_array($result)) { echo ""; echo "" . $row['name'] . ""; echo "" . $row['sex'] . ""; echo ""; } echo ""; mysql_close($con); ?>
View Code

?

?

终于对ajax异步刷新有了一丝新的理解了,万岁!要写ajax,一定要先学好JavaScript,因为是用JavaScript来写的

?

Ajax交互demo1

  • 0

    开心

    开心

  • 0

    板砖

    板砖

  • 0

    感动

    感动

  • 0

    有用

    有用

  • 0

    疑问

    疑问

  • 0

    难过

    难过

  • 0

    无聊

    无聊

  • 0

    震惊

    震惊

版权所有 IT知识库 CopyRight ? 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号