一、关于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. 安全类和远程类shell脚本

    批量杀php小马脚本 find /home/hatdot/ -name "*.php" |xargs egrep "phpspy|c99sh|milw0rm|eval\( ...

  2. java的加载与运行

    jdk中有一个javac.exe(java编译器) *Java程序的运行包括两非常重要的阶段 -编译阶段 -运行阶段 *编译阶段 -主要任务是检查Java源程序是否符合Java语法 符合Java语法则 ...

  3. C++中的异常处理(上)

    C++内置了异常处理的语法元素try... catch ...-try语句处理正常代码逻辑-catch语句处理异常情况-try语句中的异常由对应的catch语句处理 try { ,); } catch ...

  4. Python equivalent of D3.js

    http://brandonrose.org/       Python equivalent of D3.js Ask Question Asked 7 years, 1 month ago Act ...

  5. pointNet代码

    介绍 组成 1.PointNet classification network分类网络 part segmentation network 数据集 1.point clouds sampled fro ...

  6. Python 基础排序算法

    冒泡排序(bubble sort) 思路 以升序为例: 从第一个数开始向后两两对比,将大的数一直向后移动,直至最大的数移到最后,再找第二大的数 最好情况:O(n) 一般情况:O(n^2) 最坏情况:O ...

  7. Linux学习笔记-第15天 还真是看书不如做实验

    自己多操作几遍还是有好处的,看跟练还是不一样.突然有点庆幸自己考试时间被改了.月底考试的话估计会有点悬.加油吧

  8. Django-compressor压缩静态文件,逆天!!!!!

    使用django-compressor压缩混淆静态文件 使用django-compressor压缩混淆静态文件 使用django-compressor压缩混淆静态文件 django-compresso ...

  9. python运维开发常用模块(7)web探测模块pycurl

    1.模块介绍 pycurl(http://pycurl.sourceforge.net)是一个用C语言写的libcurl Python实现,功能非常强大,支持的操作协议有FTP.HTTP.HTTPS. ...

  10. 与某军工背景软件企业分享Azure DevOps Server的经验

    DevOps 是英文单词Development和Operations的组合词,是一种用于促进软件开发.运维实施和质量保障部门之间协同工作的过程和方法. 结合软件开发管理规范,应用自动化的构建.测试和发 ...