加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

Ajax 初步学习总结

发布时间:2020-12-16 00:53:34 所属栏目:百科 来源:网络整理
导读:Ajax是什么 A jax 是 ( Asynchronous JavaScript And XML ) 是异步的 J avaScript 和 xml 。也就是异步请求更新技术。 Ajax 是一种对现有技术的一种新的应用,不是一门新语言。它是用 JavaScript 编写。与 xml 的关系就是可以读取和返回 xml 文件。 Ajax的核

Ajax是什么

Ajax(Asynchronous JavaScript And XML)是异步的JavaScriptxml。也就是异步请求更新技术。Ajax是一种对现有技术的一种新的应用,不是一门新语言。它是用JavaScript编写。与xml的关系就是可以读取和返回xml文件。

Ajax的核心对象

通过不必把Web页面寄送到服务器而实现数据传送,XMLHttpRequest对象为客户端与服务器之间提供了一种动态的交互能力。

XMLHttpRequest用于在后台与服务器交换数据。这意味着可以在不重新加载整个网页的情况下,对网页的某部分进行更新。

方法:

xmlHttpRequst对象利用send()open()方法与服务器进行交互。

open(method,url,async)

  • method:请求的类型;GET POST
  • url:文件在服务器上的位置
  • asynctrue(异步)或 false(同步)

send(string)

  • string:仅用于 POST 请求

如果是post请求,必须使用 setRequestHeader() 来添加 HTTP 头。然后在 send() 方法中设置发送的数据:


xmlhttp.open("POST","ajax_test.asp",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("fname=Bill&lname=Gates");


如何实现异步操作呢?

ajax通过xmlhttpRequest对象执行操作,其中xmlhttpRequest对象是在浏览器中内置的一个对象

其运行原理就相当于创建了一个请求代理,通过代理去完成与服务器的交互,交互的过程中客户不需要等待,还可以进行其它的工作,交互完成以后,代理再将交互的结果返回给客户页面。

第一步:创建xmlHttpRequest对象,每个浏览器的创建不是都相同。


var xmlhttp;
if (window.XMLHttpRequest)
  {//  IE7+,Firefox,Chrome,Opera,Safari创建方式
  xmlhttp=new XMLHttpRequest();
  }
else
  {//  IE6,IE5 创建方式
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

通常情况下为了兼容所有浏览器,每个都要写上。

第二步:设置open()方法和setRequestHeader()方法参数。

将请求方式,请求目的地址,和请求类型设置到open方法中,如果是post请求,则需要设置setRequestHeader()参数

第三步:发送执行

利用send方法,与服务器真正的交互执行

第四步:获得执行结果

首先判断执行是否完成,然后通过js操作dom元素,将返回的responseText返回到页面

xmlhttp.onreadystatechange=function()
  {
	//判断是否发送成功,是否找到请求页面等
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
	//操作页面元素
    document.getElementById("myDiv").innerHTML=xmlhttp.responseText;
    }
  }

jQuery来进行Ajax开发(实例)



1、请求页面AJax.aspx

HTML代码

<div>
        <input id="txtName" type="text" /><input type="button" value="查看用户名是否存在" id="btn" onclick="JudgeUserName();" />
        <div id="showResult" style="float:left">div>
    div>


JS代码

<script type="text/javascript" src="CSS/jquery-1.3.2.js"></script>
     <script type="text/javascript">
        function JudgeUserName()
        {
            $.ajax({
            type:"GET",url:"AjaxUserInfoModify.aspx",dataType:"html",data:"userName="+$("#txtName").val(),beforeSend:function(XMLHttpRequest)
                {
                    $("#showResult").text("正在查询");
                    //Pause(this,100000);
                },success:function(msg)
                {   
                    $("#showResult").html(msg);
                    $("#showResult").css("color","red");
                },complete:function(XMLHttpRequest,textStatus)
                {
                    //隐藏正在查询图片
                },error:function()
               {
                    //错误处理
               }
            });
        }

     </script>


2 、页面AjaxUserInfoModify.aspx

后台代码

protected void Page_Load(object sender,EventArgs e)
    {
        string userName = Request.QueryString["userName"].ToString ();
        if (userName == "James Hao")
        {
            Response.Write ("用户名已经存在!");
        }
        else
        {
            Response.Write ("您可以使用此用户名!");
        }
}
现在是简单的初步认识,后面深入的实践加深理解。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读