Ajax发送异步请求

小鱼儿 2022-03-20 11:58 430阅读 0赞

简介

  Ajax(Asynchronous JavaScript and XML)即异步的JS和XML,本质是使用JS提供的XMLHttpRequest对象异步地向服务器发送请求,并接受响应数据。服务器响应回来的是部分的数据而不是完整的页面,并且可以以无刷新的效果来更改页面中的局部内容。

获取Ajax核心对象:XMLHttpRequset

  允许通过 window.XMLHttpRequest来判断浏览器是否支持XMLHttpRequest()。如果值为null的话,说明需要通过ActiveXObject()创建。因此,产生了兼容的代码:

  1. var xhr;
  2. if(window.XMLHttpRequest){
  3. xhr=new XMLHttpRequest();
  4. }else{
  5. xhr=new ActiveXObject("Microsoft.XMLHTTP");
  6. }

xhr的常用属性和方法

  1.open() 方法,创建请求

  语法为:

  1. open(method,url,isAsyn)

method:string类型;请求方式:get,post
url:string类型;请求地址
isAsyn:Boolean类型;指定采用同步(false)还是异步(true)的方式发送请求

  2.readyState属性

  当值为4的时候,表示所有的响应都已接收完毕

  3.status属性

  表示服务器的响应状态码。200表明成功响应所有信息

  4.onreadystatechange事件

  当 xhr 的 readyState 属性值发生改变的时候,要自动激发的操作

  语法为:

  1. xhr.onreadystatechange = function(){
  2. }

  5.send() 方法

  语法为:

  1. send(body);

body是请求主体,没有请求主体的提交方式,body位置处写null

发送异步请求的步骤

  1.创建/获取xhr对象

  1. var xhr;
  2. if(window.XMLHttpRequest){
  3. xhr=new XMLHttpRequest();
  4. }else{
  5. xhr=new ActiveXObject("Microsoft.XMLHTTP");
  6. }

  2.创建请求

  1. xhr.open("get","03-testajax.php",true);

  3.设置 xhr 的 onreadystatechange 事件,判断readyState 以及 status 的值,并接受响应

  1. xhr.onreadystatechange = function(){
  2. if(xhr.readyState==4 && xhr.status==200){
  3. //接收响应数据
  4. var resText = xhr.responseText;
  5. //对响应数据的处理
  6. $("msg-show").innerHTML = resText;
  7. }
  8. }

  4.发送请求

  1. xhr.send(null);

发表评论

表情:
评论列表 (有 0 条评论,430人围观)

还没有评论,来说两句吧...

相关阅读

    相关 异步请求-AJAX

    什么是同步交互 > 首先用户向HTTP服务器提交一个处理请求。接着服务器端接收到请求后,按照预先编写好的程序中的业务逻辑进行处理,比如和数据库服务器进行数据信息交换。最后,服

    相关 ajax--异步请求

    何为异步请求? 当浏览器向服务器发送同步请求时,服务处理同步请求的过程中,浏览器会处于等待的状态,服务器处理完请求把数据响应给浏览器并覆盖浏览器内存中原有的数据,浏览器重