`

2_XMLHttpRequest对象的属性及方法

    博客分类:
  • AJAX
阅读更多

 下面这张图,说明了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

    网络综合布线施工方案书.doc

    网络综合布线施工方案书

    工厂车间管理系统 基于Springboot和Mysql的工厂车间管理系统代码(程序,中文注释)

    工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统-工厂车间管理系统 1、资源说明:工厂车间管理系统源码,本资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 2、适用人群:计算机相关专业(如计算计、信息安全、大数据、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工等学习者,作为参考资料,进行参考学习使用。 3、资源用途:本资源具有较高的学习借鉴价值,可以作为“参考资料”,注意不是“定制需求”,代码只能作为学习参考,不能完全复制照搬。需要有一定的基础,能够看懂代码,能够自行调试代码,能够自行添加功能修改代码。 4. 最新计算机软件毕业设计选题大全(文章底部有博主联系方式): https://blog.csdn.net/2301_79206800/article/details/135931154 技术栈、环境、工具、软件: ① 系统环境:Windows ② 开发语言:Java ③ 框架:SpringBo

    stm32矩阵键盘驱动程序.zip

    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矩阵键盘驱动程序

    从Servlet+JSP+JDBC到MyBatis:重构用户CRUD操作的高效之旅第二版

    修改了删除确认的操作

    windows FFmpeg 免安装压缩包 ffmpeg-6.1.1-full-build-shared

    windows FFmpeg 免安装压缩包 ffmpeg-6.1.1-full-build-shared

    物联网技术实训报告.docx

    物联网技术实训报告.docx

    深度学习教程 神经网络基础

    神经网络 深度学习教程 神经网络基础

    基于Springboot和Vue的智能无人仓库管理源码 智能无人仓库管理代码(程序,中文注释)

    智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理-智能无人仓库管理 1、资源说明:智能无人仓库管理源码,本资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 2、适用人群:计算机相关专业(如计算计、信息安全、大数据、人工智能、通信、物联网、自动化、电子信息等)在校学生、专业老师或者企业员工等学习者,作为参考资料,进行参考学习使用。 3、资源用途:本资源具有较高的学习借鉴价值,可以作为“参考资料”,注意不是“定制需求”,代码只能作为学习参考,不能完全复制照搬。需要有一定的基础,能够看懂代码,能够自行调试代码,能够自行添加功能修改代码。 4. 最新计算机软件毕业设计选题大全(文章底部有博主联系方式): https://blog.csdn.net/2301_79206800/article/details/135931154 技术栈、环境、工具、软件: ① 系统环境:Windows ② 开发语言:Java ③ 框架:SpringBo

    C语言笔试面试题大全.docx

    c语言入门 C语言笔试面试题大全.docx

    智慧城市地下综合管线管理平台解决方案.pptx

    智慧城市地下综合管线管理平台解决方案.pptx

    汽车座椅头枕强度测试机_三维3D设计图纸.zip

    汽车座椅头枕强度测试机_三维3D设计图纸

    平 面近场 测试 系统在 天线 测试 和诊 断 中的应用.pdf

    平 面近场 测试 系统在 天线 测试 和诊 断 中的应用

    MicrosoftEdgeSetup.exe

    Windows Edge 浏览器安装包。

    kkkxx副本.docx

    kkkxx副本.docx

    2024秋招信息秋招信息资源

    2024秋招信息秋招信息资源 2024秋招信息秋招信息资源2024秋招信息秋招信息资源2024秋招信息秋招信息资源2024秋招信息秋招信息资源2024秋招信息秋招信息资源

    advances-in-quantum-cryptography-47uxe1y6u2.pdf

    advances-in-quantum-cryptography-47uxe1y6u2

    doov-Java Bean 验证和映射

    doov-Java Bean 验证和映射

    全域用户运营方案.pptx

    全域用户运营方案.pptx

    贸易行业crm系统 基于Springboot和Mysql的贸易行业crm系统代码(程序,中文注释)

    贸易行业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

Global site tag (gtag.js) - Google Analytics