下面这张图,说明了XMLHttpRequest对象与Server的标准交互过程。
下面是几个XMLHttpRequest的标准方法的详细说明,如果对HTTP协议熟悉的话,应该是很容易明白的:
abort()
停止当前请求
string getAllResponseHeaders()
将HTTP此次请求的所有响应首部作为键/值对返回,要注意的是返回值是个string
string getResponseHeader("header")
返回响应首部中的header对应值
void open(string method, string url, boolean asynch,
string username, string password):
该方法会建立对服务器的调用,但并不会真正发送,只是准备,前两个参数是必须的,分别代表HTTP请求方法和所调用资源的URL,第三个是一个boolean值,默认true,代表请求异步,如果为false,前端浏览器对于用户响应的处理就会等待,直到从服务器返回响应为止。异步调用是AJAX的优势之一。
send(content)
这个方法才会真正发送请求,如果上面的第三个参数设置为ture,那么调用完后会立即返回,如果为false就会直到接收到响应才返回,但这并不会影响回调函数的多次执行,因为浏览器后台也是多线程的,同步只会阻止前端页面的响应。可选的content参数可以是一个DOM对象,一个输入流,一个字符串。这个content会作为请求体的一部分发送给Server,一般只在以POST方式下才使用,因为GET请求方式是不会携带请求体的。
setRequestHeader("header", "value")
此方法必须在open后面调用,作用是设置在HTTP请求消息中设置一个首部key/value对。GET请求方式下一般不用设置,但是在POST方式下需要设置一个Content-Type信息:
XMLHttpRequest.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
如果需要利用ajax上传文件,则应该这样设置:
XMLHttpRequest.setRequestHeader("Content-Type", "mulipart/form-data");
除了上述方法,XMLHttpRequest对象还提供了一些属性,处理AJAX响应的时候将会大量使用到它们。
onreadystatechange
这个属性关联一个JavaScript回调函数,每当readyState属性值改变时,就会调用一次。
readyState
HTTP请求的状态,只能有5个可选的值, 0 = uninitialized, 1 = loading, 2 = loaded, 3 = interactive, and 4 = complete.最重要的是readyState==4,这时请求响应才真正完成,可以进行数据的操作。例如判断HTTP响应码是否是200。readyState值每变化一次,回调函数就被调用一次,但不可依据调用次数和顺序来编码,因为不同浏览器实现不一样,有时候IE上会执行6次,有时候某个状态码会执行多次。所以一般只要在代码里面加上if(readyState==4){}在代码块中实现自己的逻辑。注意:XMLHttpRequest对象刚new出来的时候,readyState的值是0。
responseText
该属性代表的是从Server端返回的一个string格式的响应。
responseXML
代表从Server端传回的XML格式的数据,可以直接被当作DOM对象使用。
status
这个在HTTP响应中的响应码。200代表响应成功,所以一般在status==200才进行响应数据的操作,如果不是200,那说明HTTP响应不正常,也就不用处理。
statusText
HTTP协议中跟在响应码后面的相应说明串。例如200 后面就会跟着OK。
- 大小: 66.9 KB
分享到:
相关推荐
医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统-医院后台管理系统 1、资源说明:医院后台管理系统源码,本资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 2、适用人群:计算机相关专业(如计算计、信息安全、大数据、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工等学习者,作为参考资料,进行参考学习使用。 3、资源用途:本资源具有较高的学习借鉴价值,可以作为“参考资料”,注意不是“定制需求”,代码只能作为学习参考,不能完全复制照搬。需要有一定的基础,能够看懂代码,能够自行调试代码,能够自行添加功能修改代码。 4. 最新计算机软件毕业设计选题大全(文章底部有博主联系方式): https://blog.csdn.net/2301_79206800/article/details/135931154 技术栈、环境、工具、软件: ① 系统环境:Windows ② 开发语言:Java ③ 框架:SpringBo
网络综合布线施工方案书
工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统 1、资源说明:工厂车间管理系统源码,本资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 2、适用人群:计算机相关专业(如计算计、信息安全、大数据、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工等学习者,作为参考资料,进行参考学习使用。 3、资源用途:本资源具有较高的学习借鉴价值,可以作为“参考资料”,注意不是“定制需求”,代码只能作为学习参考,不能完全复制照搬。需要有一定的基础,能够看懂代码,能够自行调试代码,能够自行添加功能修改代码。 4. 最新计算机软件毕业设计选题大全(文章底部有博主联系方式): https://blog.csdn.net/2301_79206800/article/details/135931154 技术栈、环境、工具、软件: ① 系统环境:Windows ② 开发语言:Java ③ 框架:SpringBo
stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序 stm32矩阵键盘驱动程序
修改了删除确认的操作
windows FFmpeg 免安装压缩包 ffmpeg-6.1.1-full-build-shared
物联网技术实训报告.docx
神经网络 深度学习教程 神经网络基础
智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理 1、资源说明:智能无人仓库管理源码,本资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 2、适用人群:计算机相关专业(如计算计、信息安全、大数据、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工等学习者,作为参考资料,进行参考学习使用。 3、资源用途:本资源具有较高的学习借鉴价值,可以作为“参考资料”,注意不是“定制需求”,代码只能作为学习参考,不能完全复制照搬。需要有一定的基础,能够看懂代码,能够自行调试代码,能够自行添加功能修改代码。 4. 最新计算机软件毕业设计选题大全(文章底部有博主联系方式): https://blog.csdn.net/2301_79206800/article/details/135931154 技术栈、环境、工具、软件: ① 系统环境:Windows ② 开发语言:Java ③ 框架:SpringBo
c语言入门 C语言笔试面试题大全.docx
智慧城市地下综合管线管理平台解决方案.pptx
汽车座椅头枕强度测试机_三维3D设计图纸
平 面近场 测试 系统在 天线 测试 和诊 断 中的应用
Windows Edge 浏览器安装包。
kkkxx副本.docx
2024秋招信息秋招信息资源 2024秋招信息秋招信息资源2024秋招信息秋招信息资源2024秋招信息秋招信息资源2024秋招信息秋招信息资源2024秋招信息秋招信息资源
advances-in-quantum-cryptography-47uxe1y6u2
doov-Java Bean 验证和映射
全域用户运营方案.pptx
贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统-贸易行业crm系统 1、资源说明:贸易行业crm系统源码,本资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 2、适用人群:计算机相关专业(如计算计、信息安全、大数据、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工等学习者,作为参考资料,进行参考学习使用。 3、资源用途:本资源具有较高的学习借鉴价值,可以作为“参考资料”,注意不是“定制需求”,代码只能作为学习参考,不能完全复制照搬。需要有一定的基础,能够看懂代码,能够自行调试代码,能够自行添加功能修改代码。 4. 最新计算机软件毕业设计选题大全(文章底部有博主联系方式): https://blog.csdn.net/2301_79206800/article/details/135931154 技术栈、环境、工具、软件: ① 系统环境:Windows ② 开发语言:Java