一、关于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. fiddler---Fiddler性能测试

    从上几篇文章中我们了解到Fiddler可以帮助我们做接口测试,修改断点,抓包等应用,但是你可能想想不到,Fiddler也能做简单的性能测试 性能测试 性能测试是通过自动化的测试工具模拟多种正常.峰值以 ...

  2. 201871010111-刘佳华《面向对象程序设计(java)》第十二周学习总结

    201871010111-刘佳华<面向对象程序设计(java)>第十二周学习总结 实验十   集合与GUI初步 实验时间 2019-11-14 第一部分:基础知识总结 第九章知识总结 1. ...

  3. 最短路问题的三种算法&模板

    最短路算法&模板 最短路问题是图论的基础问题.本篇随笔就图论中最短路问题进行剖析,讲解常用的三种最短路算法:Floyd算法.Dijkstra算法及SPFA算法,并给出三种算法的模板.流畅阅读本 ...

  4. hydra 常用命令解析

    参数说明: Hydra v9.0 (c) 2019 by van Hauser/THC - Please do not use in military or secret service organi ...

  5. JAVA 运行springboot jar包设置classpath

    Java 命令行提供了如何扩展bootStrap 级别class的简单方法. -Xbootclasspath: 完全取代基本核心的Java class 搜索路径.不常用,否则要重新写所有Java 核心 ...

  6. CodeForce 577B Modulo Sum

    You are given a sequence of numbers a1, a2, ..., an, and a number m. Check if it is possible to choo ...

  7. 记录一个 C# 导出 Excel 的坑

    Ø  简介 其实该文章并没有什么技术含量,只是记录下个人心得.在以后有朋友遇到类似问题,可以借鉴下,或者遇到相同问题时的提供个参考方向. 也算我的一个经历吧,这个问题我花了足足一天多的时间才找到问题, ...

  8. oracle的instr()函数

    我们知道很多语言都提供了indexOf()和lastIndexOf()函数,以便能查找某个字符在某个字符串中的出现的位置和最后一次出现的位置. 但是Oracle没有提供这两个函数,事实上,它提供了一个 ...

  9. ADO.NET中的5个主要对象

    1.Connection:主要是开启程序和数据库之间的连接.没有利用连接对象将数据库打开,是无法从数据库中取得数据的. Close和Dispose的区别,Close以后还可以Open,Dispose以 ...

  10. vue引用bootstrap3

    引用bootstrap   yarn add bootstrap@3 基于jquery,因此还需要引用2个包,jquery和popper.js, yarn add jquery popper.js - ...