当前位置: 首页 > news >正文

AJAX入门--- XMLHttpRequest对象的属性和方法

由于刚刚接触到Ajax对其比较陌生,而其中的XMLHttpRequest对象更是未曾听闻。开始学之前,了解一下它的属性和方法为它的使用做下铺垫。本文重点介绍XMLHttpRequest的属性和方法。

         XMLHttpRequest对象的属性和事件

属性

描述

readyState

表示XMLHttpRequest对象的状态[1]

responseText

包含客户端接收到的HTTP相应的文本内容[2]

responseXML

服务器响应的XML内容对应的DOM对象[3]

status

服务器返回http状态码[4]

statusText

服务器返回状态码的文本信息[5]

事件

描述

onreadystatechange

readyState属性发生变化时触发此事件,用于触发回调函数。

 

[1]:

状态

名称

描述

0

Uninitialized

初始化状态。XMLHttpRequest 对象已创建或已被 abort() 方法重置。

1

Open

open() 方法已调用,但是 send() 方法未调用。请求还没有被发送。

2

Send

Send() 方法已调用,HTTP 请求已发送到 Web 服务器。未接收到响应。

3

Receiving

所有响应头部都已经接收到。响应体开始接收但未完成。

4

Loaded

HTTP 响应已经完全接收。

[2]:readyState=4时,responseText包含完整的响应信息。

readyState=3时,responseText包含未完整的响应信息。

readyState<3时,responseText为空字符串。

[3]:当readyState=4,并且响应头部的Content-Type的MIME类型为XML(text/xml或application/xml)时,该属性有值并且被解析成一个XML文档。其它情况为null,包括回传的XML文档不良或未完成响应回传。

[4]:如 200 表示成功,而 404 表示 "NotFound" 错误。当 readyState 小于 3 的时候读取这一属性会导致一个异常。

[5]:当状态为 200 的时候它是"OK",当状态为 404 的时候它是 "Not Found"。和 status 属性一样,当 readyState 小于 3 的时候读取这一属性会导致一个异常。

 

         XMLHttprequest对象的方法

         1.open方法

         描述:制定和服务器交互的HTTP方法,URL地址及其他请求信息。

         open(method,url, async, username, password) 用来进行初始化工作

         返回值:得到一个包含send()方法的对象

         method:必须。用于指定HTTP请求方法,支持所有HTTP的方法,如GET,POST,按规定

         uri:请求的服务器的地址,自动解析成绝对地址。

         async:请求是否异步,true表示你异步,false表示同步,默认为true。

         username,password:可以不指定,分别表示用户名和密码,提供HTTP认证机制需要的用户名和密码。

         调用open后,readystate状态为1. 

         2.send(content)方法

         描述:向服务器发出请求,其内容可以是DOM对象,输入流或是字符串。

         调用open 方法后,可以调用send()方法来发送请求。

         当open 中async=true时,send()方法调用后立即返回,否则会中断直到请求返回。

         3.abort()方法

         该方法可以暂停一个HttpRequest请求或者HttpResponse的接收,并且将XMLHttpRequest的状态设置为初始化。

         4.setRequestHeader(header,value)方法

         该方法用来设置请求的头部信息。此方法需要在open方法之后调用。

         5.getResponseHeader()方法

         描述:返回包含HTTP的所有响应头信息,其中响应头包括Content-Length,Date,URI等内容。

         当readystate>2时,该方法用来检索响应的头部信息。否则返回一个空字符串。

         getAllResponseHeaders()方法返回所有的HttpResponse头部信息。

 

         知道的XMLHttpRequest对象的相关知识之后,重点就是如何使用了


相关文章:

  • mysql查询今天,昨天,近7天,近30天,本月,上一月数据
  • html中使用map标签,coords值怎么精确定位gif上的链接
  • host 配置不生效的解决办法
  • 淘宝rubygem镜像
  • Struts2 S2-020补丁绕过漏洞
  • Discuz爆破无视验证码
  • Codeigniter 利用加密Key(密钥)的对象注入漏洞
  • 内网渗透案例
  • Fckeditor漏洞利用总结
  • 彻底删除Web路径下所有”.svn”遗留文件
  • office 2013 word 打开就停止响应解决办法
  • 常用汉字的UTF-8编码及编码范围
  • 阿里公共DNS
  • MySQL低权限账号读取文件
  • 调用域名注册api,查询所有域名组合脚本
  • 【399天】跃迁之路——程序员高效学习方法论探索系列(实验阶段156-2018.03.11)...
  • 【EOS】Cleos基础
  • 【译】理解JavaScript:new 关键字
  • 2018天猫双11|这就是阿里云!不止有新技术,更有温暖的社会力量
  • Bytom交易说明(账户管理模式)
  • express如何解决request entity too large问题
  • HTTP 简介
  • js 实现textarea输入字数提示
  • JSONP原理
  • 对象管理器(defineProperty)学习笔记
  • 前端之React实战:创建跨平台的项目架构
  • 驱动程序原理
  • 在GitHub多个账号上使用不同的SSH的配置方法
  • 【干货分享】dos命令大全
  • Java数据解析之JSON
  • puppet连载22:define用法
  • ​一帧图像的Android之旅 :应用的首个绘制请求
  • # Swust 12th acm 邀请赛# [ E ] 01 String [题解]
  • #我与Java虚拟机的故事#连载03:面试过的百度,滴滴,快手都问了这些问题
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (Bean工厂的后处理器入门)学习Spring的第七天
  • (zt)基于Facebook和Flash平台的应用架构解析
  • (九)One-Wire总线-DS18B20
  • (力扣记录)235. 二叉搜索树的最近公共祖先
  • (四)JPA - JQPL 实现增删改查
  • (提供数据集下载)基于大语言模型LangChain与ChatGLM3-6B本地知识库调优:数据集优化、参数调整、Prompt提示词优化实战
  • (已解决)什么是vue导航守卫
  • (转)微软牛津计划介绍——屌爆了的自然数据处理解决方案(人脸/语音识别,计算机视觉与语言理解)...
  • .jks文件(JAVA KeyStore)
  • .Net 4.0并行库实用性演练
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .NET delegate 委托 、 Event 事件,接口回调
  • @Transaction注解失效的几种场景(附有示例代码)
  • [100天算法】-二叉树剪枝(day 48)
  • [2021 蓝帽杯] One Pointer PHP
  • [AAuto]给百宝箱增加娱乐功能
  • [Angularjs]asp.net mvc+angularjs+web api单页应用
  • [AX]AX2012 R2 出差申请和支出报告
  • [BJDCTF2020]The mystery of ip