一、关于XMLHttpRequest的实例的属性和方法

  实例的属性:

  1、xhr.response 响应主体内容

  2、xhr.responseText 响应主体内容字符串(JSON或者XML格式字符串都可以作为这个的内容)

  3、xhr.responseXML 响应内容是XML文档

  4、xhr.status 响应状态码

  5、xhr.statusText 响应状态描述(状态码的文字描述,比如:状态码是200,状态描述为 OK)

  6、xhr.timeout 设置请求超时时间

  7、xhr.withCredentials  时是否允许跨域(默认为false)

  实例的方法:

  1、xhr.abort()  强制中断http请求(超时时默认会中断)

  2、xhr.getAllResponseHeaders()  获取所有响应头信息(一般不常用,常用为xhr.getResponseHeader(响应头的键))

  3、xhr.getResponseHeader(key)  获取指定响应头的键的信息。示例:xhr.getResponseHeader("Content-type")    返回:application/text

  4、xhr.open(请求方式,请求地址,是否异步)  打开URL请求

  5、xhr.overrideMineType(响应类型)     如果来自服务器的响应没有mime类型,那么发送这个试图覆盖发送给服务器的头部,强制服务器使用这里设置的返回类型作为响应的mime类型(重写mime类型)

  6、xhr.send(data)   发送请求。(接受一个参数,如果是get方式请求则无需参数。ajax任务开始)

  7、xhr.setRequestHeader(请求头,内容)  设置请求头。(注意:设置请求头时,内容不能有中文,可以有特殊字符。同时这个必须在xhr.open()方法之前设置,否则报错)

二、xhr的五种状态

  在XMLHttpRequest的prototype上有关于五种状态的解释

  

  1、UNSENT    0    表示请求对象已经初始化完成,但是还没有发送

  2、OPENED  1  请求已被发送

  3、HEADERS_RECEVIED  2  并且服务器的响应头已经收到信息

  4、LOADING   3   正在接受响应体

  5、DONE   4   请求完成

三、监听xhr状态改变的事件

  xhr.onreadystatechange=function(){}    这个事件监听着xhr状态的改变(即状态2、3、4的改变)。当时设置之前的状态与后续状态不同了就会触发这个事件。(在设置之前已经处于状态1了)

  获取xhr的状态:xhr.readystate

四、xhr的事件有哪些

  1、onabort   中断的时候触发

  2、onerror  请求出错的时候触发

  3、onload 资源的加载的时候触发

  4、onloadend   资源的加载完毕时触发的事件处理函数。

  5、onloadstart 资源的开始加载的时候触发

  6、onprogress  在XMLHttpRequest完全成功之前定期调用的带有信息的函数。处理函数默认有一个参数event,表示事件,事件有两个属性,loaded已经传送的,total表示总共的

  7、onreadystatechange   状态改变的时候触发

  8、ontimeout  请求超时时触发

  

ajax的一些知识的更多相关文章

  1. ajax的一部分知识

    jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...

  2. ajax的小知识---总是得到重复的数据

    按xmlhttp.open("GET","/try/ajax/demo_get.php",true);发送,可能会得到缓存中的结果; 可以改为xmlhttp.o ...

  3. Comet——反向Ajax (基础知识)

    Comet:服务器推送,与ajax页面向服务器请求数据相反.几乎可以实时将数据推送到客户端. 但本质一样:浏览器向服务器发起请求,服务器响应请求 Comet实现方式:长轮询.HTTP流 1.长轮询—— ...

  4. Python全栈开发之18、cookies、session和ajax等相关知识

    一.cookies 本质为在浏览器端保存的键值对,由服务端写在浏览器端,以后每次请求的时候,浏览器都携带着cookie来访问,cookies的使用之处非常多,比如用户验证,登陆界面,右侧菜单隐藏,控制 ...

  5. ajax的相关知识总结

    一.ajax的工作原理 a.创建XMLHttpRequeat对象 var xmlhttp; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, ...

  6. Ajax——异步基础知识(三)

    封装异步请求 1.将函数作为参数进行使用 2.因为获取数据是在一个注册事件中获取的,所以只有事件触发的时候才会调用此函数 <!DOCTYPE html> <html lang=&qu ...

  7. Ajax——异步基础知识(二)

    XML数据格式 首行必须是版本号和格式等信息 <?xml version="1.0" encoding="utf-8" ?> 最外层需要一个根节点进 ...

  8. Ajax——异步基础知识(一)

    基础概念 1.异步请求可以做到偷偷向服务器发送请求,而页面却不刷新 2.get异步请求传递参数是通过url追加键值对的方式 3.post异步请求比较特殊,需要设置请求的类型 User-Agent:浏览 ...

  9. Ajax——php基础知识(一)

    AMP环境 AMP(Apache.MySQL.PHP)是三个独立的软件,但是对于初学者而言分别安装以及配置需要掌握一定的软件知识,所以就有了很多AMP集成环境帮助我们简化安装 ——WAMP WAMP安 ...

  10. js的AJAX请求有关知识总结

    什么是AJAX?AJAX作用是什么? async javascript and xml(异步的javascript和xml) 作用:实现局部刷新 async:我们真实项目中一般使用AJAX从服务器端获 ...

随机推荐

  1. 2019徐州网络赛 H.function

    题意: 先有\(n=p_1^{k_1}p_2^{k_2}\cdots p_m^{k_m}\),定义\(f(n)=k_1+k_2+\cdots+k_m\). 现在计算 \[ \sum_{i=1}^nf( ...

  2. 2. java 运算符

    运算符 一.算术运算符 1. 四则与取模 + - * / % ++ -- (1) 单独使用++/--,前++和后++没有任何区别. (2) 混合使用,有区别 ①如果是前++,那么变量立刻马上 +1,然 ...

  3. Maven更改本地默认仓库时遇到的问题。 No implementation for org.apache.maven.model.path.PathTranslator was bound

    按照提示去查看log日志 2019-10-22 16:52:08,646 [ 161168]  ERROR -      #org.jetbrains.idea.maven - com.google. ...

  4. 日志分析利器Splunk的搭建、使用、破解

    博主对splunk的了解不多,博主的使用目的是为了同步,分析日志.当初的搭建也是为了公司申请牌照需要日志服务器分析日志,顺便自己也对这方面感兴趣就买了本书看了看搭建玩的,后来检查来了博主也给他们演示了 ...

  5. Html学习之九(CSS选择器的使用--位置选择器)

    位置选择器: 一..:first-child选择器 <!doctype html> <html> <head> <meta charset="utf ...

  6. jwt揭秘(含源码示例和视频)

    JSON Web Tokens,是一种开发的行业标准 RFC 7519 ,用于安全的表示双方之间的声明.目前,jwt广泛应用在系统的用户认证方面,特别是现在前后端分离项目. 1. jwt认证流程 在项 ...

  7. UVA10559 方块消除 Blocks(区间dp)

    一道区间dp好题,在GZY的ppt里,同时在洛谷题解里看见了Itst orz. 题目大意 有n个带有颜色的方块,没消除一段长度为 \(x\) 的连续的相同颜色的方块可以得到 \(x^2\) 的分数,用 ...

  8. django内容回顾:

    Django 下载安装 命令行 pip install django==1.11.26 -i 源 pycharm 创建项目 命令行 django-admin startproject 项目名 pych ...

  9. ubuntu 查看版本

    cat /etc/proc 可以查看是16.04还是18.04

  10. Harbor + Https 部署

    关闭防火墙和selinux systemctl stop firewalld sed -i 's/SELINUX=.*/SELINUX=disabled/g' /etc/sysconfig/selin ...