AJAX入门这一篇就够了(二)

简介: 讲解

了解XMLHttpRequest对象的属性和方法


方法


  • open()(String method,String url,boolean asynch,String username,String password)
  • send(content)
  • setRequestHeader(String header,String value)
  • getAllResponseHeaders()
  • getResponseHeader(String header)
  • abort()

常用的方法就是黑色粗体的前三个

  • open():该方法创建http请求
  • 第一个参数是指定提交方式(post、get)
  • 第二个参数是指定要提交的地址是哪
  • 第三个参数是指定是异步还是同步(true表示异步,false表示同步)
  • 第四和第五参数在http认证的时候会用到。是可选的
  • setRequestHeader(String header,String value):设置消息头(使用post方式才会使用到,get方法并不需要调用该方法)
  • xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
  • send(content):发送请求给服务器
  • 如果是get方式,并不需要填写参数,或填写null
  • 如果是post方式,把要提交的参数写上去


属性


  • onreadystatechange:请求状态改变的事件触发器(readyState变化时会调用此方法),一般用于指定回调函数
  • readyState:请求状态readyState一改变,回调函数被调用,它有5个状态
  • 0:未初始化
  • 1:open方法成功调用以后
  • 2:服务器已经应答客户端的请求
  • 3:交互中。Http头信息已经接收,响应数据尚未接收。
  • 4:完成。数据接收完成

13.jpg

  • responseText:服务器返回的文本内容
  • responseXML:服务器返回的兼容DOM的XML内容
  • status:服务器返回的状态码
  • statusText:服务器返回状态码的文本信息

上面有两个地方都提及了回调函数,回调函数是什么??

回调函数就是接收服务器返回的内容!

14.jpg


编写第一个Ajax程序


检测用户输入的用户名是否为"zhongfucheng",只要不是zhongfucheng,就可以使用!


html代码

  • 创建的div只要用于显示服务器返回的数据
  • 当用户点击按钮的时候,就触发事件。

<inputtype="text"id="username">

   <inputtype="button"onclick="checkUsername()"value="检测用户名是否合法">

   <divid="result">

   

   </div>


JavaScript代码


  • 创建XMLHttpRequest对象
  • 创建http请求
  • 把文本框的数据发送给http请求的目标
  • 指定回调函数
  • 编写回调函数
  • 发送http请求
  • 回调函数得到http返回的内容,把内容写在div上

<scripttype="text/javascript">


       varhttpRequest;

       functioncheckUsername(){


           if(window.XMLHttpRequest){


               //在IE6以上的版本以及其他内核的浏览器(Mozilla)等

               httpRequest=newXMLHttpRequest();

           }elseif(window.ActiveXObject){


               //在IE6以下的版本

               httpRequest=newActiveXObject();

           }



           //创建http请求

           httpRequest.open("POST","Servlet1",true);


           //因为我使用的是post方式,所以需要设置消息头

           httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");


           //指定回调函数

           httpRequest.onreadystatechange=response22;


           //得到文本框的数据

           varname=document.getElementById("username").value;


           //发送http请求,把要检测的用户名传递进去

           httpRequest.send("username="+name);


       }


       functionresponse22(){


           //判断请求状态码是否是4【数据接收完成】

           if(httpRequest.readyState==4){


               //再判断状态码是否为200【200是成功的】

               if(httpRequest.status==200){


                   //得到服务端返回的文本数据

                   vartext=httpRequest.responseText;


                   //把服务端返回的数据写在div上

                   vardiv=document.getElementById("result");

                   div.innerText=text;

               }


           }

       }

   </script>


效果


实现了局部更新,不需要刷新整一个页面


15.gif

目录
相关文章
|
7月前
|
设计模式 前端开发 JavaScript
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
67 0
|
JSON 前端开发 JavaScript
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
前端AJAX入门到实战,学习前端框架前必会的(ajax+node.js+webpack+git)(一)
594 0
|
7月前
|
XML JSON 前端开发
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
Ajax技术【Ajax技术详解、 Ajax 的使用、Ajax请求、 JSON详解、JACKSON 的使用 】(一)-全面详解(学习总结---从入门到深化)
214 1
|
4月前
|
JSON 前端开发 JavaScript
Django入门到放弃之ajax
Django入门到放弃之ajax
|
7月前
|
XML JSON 前端开发
Ajax – JSON入门指南
Ajax – JSON入门指南
64 1
|
7月前
|
设计模式 缓存 前端开发
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)(下)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
52 1
|
7月前
|
前端开发 JavaScript fastjson
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)(上)
Ajax技术【Ajax 实战】(二)-全面详解(学习总结---从入门到深化)
87 1
|
7月前
|
XML 前端开发 JavaScript
AJAX概念及入门案例
AJAX概念及入门案例
55 0
|
JSON JavaScript 前端开发
开心档-软件开发入门之​​Vue.js Ajax(vue-resource)
开心档-软件开发入门之​​Vue.js Ajax(vue-resource)
60 0
|
前端开发 JavaScript API
AJAX-day01-AJAX入门
AJAX-day01-AJAX入门