ajax的一些知识
一、关于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的一些知识的更多相关文章
- ajax的一部分知识
jquery中的ajax方法参数总是记不住,这里记录一下. 1.url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. 2.type: 要求为String类型的参数,请求方式(p ...
- ajax的小知识---总是得到重复的数据
按xmlhttp.open("GET","/try/ajax/demo_get.php",true);发送,可能会得到缓存中的结果; 可以改为xmlhttp.o ...
- Comet——反向Ajax (基础知识)
Comet:服务器推送,与ajax页面向服务器请求数据相反.几乎可以实时将数据推送到客户端. 但本质一样:浏览器向服务器发起请求,服务器响应请求 Comet实现方式:长轮询.HTTP流 1.长轮询—— ...
- Python全栈开发之18、cookies、session和ajax等相关知识
一.cookies 本质为在浏览器端保存的键值对,由服务端写在浏览器端,以后每次请求的时候,浏览器都携带着cookie来访问,cookies的使用之处非常多,比如用户验证,登陆界面,右侧菜单隐藏,控制 ...
- ajax的相关知识总结
一.ajax的工作原理 a.创建XMLHttpRequeat对象 var xmlhttp; if (window.XMLHttpRequest) { // IE7+, Firefox, Chrome, ...
- Ajax——异步基础知识(三)
封装异步请求 1.将函数作为参数进行使用 2.因为获取数据是在一个注册事件中获取的,所以只有事件触发的时候才会调用此函数 <!DOCTYPE html> <html lang=&qu ...
- Ajax——异步基础知识(二)
XML数据格式 首行必须是版本号和格式等信息 <?xml version="1.0" encoding="utf-8" ?> 最外层需要一个根节点进 ...
- Ajax——异步基础知识(一)
基础概念 1.异步请求可以做到偷偷向服务器发送请求,而页面却不刷新 2.get异步请求传递参数是通过url追加键值对的方式 3.post异步请求比较特殊,需要设置请求的类型 User-Agent:浏览 ...
- Ajax——php基础知识(一)
AMP环境 AMP(Apache.MySQL.PHP)是三个独立的软件,但是对于初学者而言分别安装以及配置需要掌握一定的软件知识,所以就有了很多AMP集成环境帮助我们简化安装 ——WAMP WAMP安 ...
- js的AJAX请求有关知识总结
什么是AJAX?AJAX作用是什么? async javascript and xml(异步的javascript和xml) 作用:实现局部刷新 async:我们真实项目中一般使用AJAX从服务器端获 ...
随机推荐
- 简述ECMAScript6新增特性
1.变量 var 可以重复声明.只有函数级的作用域.存在变量提升 let 不能重复声明.有块级作用域.没有变量提升.变量 const 不能重复声明.具有块级作用域.常量 2.箭头函数 a.为了方便而存 ...
- Spring Boot 中Bean的初始化后和销毁前的处理
Spring 对Bean的生命周期的操作提供了支持.具体实现又两种方式 1.使用@Bean 中的 initMethod 和 destroyMethod2.注解方式 利用JSR-250 中的@PostC ...
- coco数据集标注图转为二值图python(附代码)
coco数据集大概有8w张以上的图片,而且每幅图都有精确的边缘mask标注. 后面后分享一个labelme标注的json或xml格式转二值图的源码(以备以后使用) 而我现在在研究显著性目标检测,需要的 ...
- 卷积核filter和kernal的区别
在一堆介绍卷积的帖子中,这篇特别之处在于很萌的示例配色,令人眼前一亮,当然直观也是很直观滴,保证了能在昏昏欲睡见周公子前看完. https://towardsdatascience.com/types ...
- Velocity与Jsp、Freemarker的对比
在java领域,表现层技术主要有三种:jsp.freemarker.velocity.jsp是大家最熟悉的技术 优点: 1.功能强大,可以写java代码 2.支持jsp标签(jsp tag) 3.支持 ...
- 7.Go-用户信息和系统文件/目录
7.1.获取操作系统用户信息 (1)os包及子包功能 os/exec包,负责执行外部命令 os/singal对输入信息的访问 os/user通过名次或ID 查询用户账号 (2)在os/user中提供了 ...
- [LOJ 6288]猫咪[CF 700E]Cool Slogans
[LOJ 6288]猫咪[CF 700E]Cool Slogans 题意 给定一个字符串 \(T\), 求一个最大的 \(K\) 使得存在 \(S_1,S_2,\dots,S_k\) 满足 \(S_1 ...
- Physically Based Shader Development for Unity 2017 Develop Custom Lighting Systems (Claudia Doppioslash 著)
http://www.doppioslash.com/ https://github.com/Apress/physically-based-shader-dev-for-unity-2017 Par ...
- C++ 基于rapidjson对json字符串的进行序列化与反序列化
json字符串的解析以封装在我们开发过程中经常见到, 尤其在socket通信上面, 在一次项目中碰到json字符串的进行解析, 而公司有没有封装好的库, 于是就自己基于开源的库进行了一次封装, 接下是 ...
- Anaconda入门教程【快速掌握】
Anaconda 使用指南 概述 很多学习python的初学者甚至学了有一段时间的人接触到anaconda或者其他虚拟环境工具时觉得无从下手, 其主要原因就是不明白这些工具究竟有什么用, 是用来做什么 ...