首页
学习
活动
专区
工具
TVP
发布

开源优测

公众号:开源优测 分享软件测试方面的基础、开源技术、工具、理论和方案
专栏作者
524
文章
637656
阅读量
109
订阅数
剖析XMLHttpRequest对象理解Ajax机制
  XMLHttpRequest对象是当今所有AJAX和Web 2.0应用程序的技术基础。尽管软件经销商和开源社团现在都在提供各种AJAX框架以进一步简化XMLHttpRequest对象的使用;但是,我们仍然很有必要理解这个对象的详细工作机制。 一、 引言   异步JavaScript与XML(AJAX)是一个专用术语,用于实现在客户端脚本与服务器之间的数据交互过程。这一技术的优点在于,它向开发者提供了一种从Web服务器检索数据而不必把用户当前正在观察的页面回馈给服务器。与现代浏览器的通过存取浏览器DOM结构的编程代码(JavaScript)动态地改变被显示内容的支持相配合,AJAX让开发者在浏览器端更新被显示的HTML内容而不必刷新页面。换句话说,AJAX可以使基于浏览器的应用程序更具交互性而且更类似传统型桌面应用程序。   Google的Gmail和Outlook Express就是两个使用AJAX技术的我们所熟悉的例子。而且,AJAX可以用于任何客户端脚本语言中,这包括JavaScript,Jscript和VBScript。   AJAX利用一个构建到所有现代浏览器内部的对象-XMLHttpRequest-来实现发送和接收HTTP请求与响应信息。一个经由XMLHttpRequest对象发送的HTTP请求并不要求页面中拥有或回寄一个<form>元素。AJAX中的"A"代表了"异步",这意味着XMLHttpRequest对象的send()方法可以立即返回,从而让Web页面上的其它HTML/JavaScript继续其浏览器端处理而由服务器处理HTTP请求并发送响应。尽管缺省情况下请求是异步进行的,但是,你可以选择发送同步请求,这将会暂停其它Web页面的处理,直到该页面接收到服务器的响应为止。   微软在其Internet Explorer(IE) 5中作为一个ActiveX对象形式引入了XMLHttpRequest对象。其他的认识到这一对象重要性的浏览器制造商也都纷纷在他们的浏览器内实现了XMLHttpRequest对象,但是作为一个本地JavaScript对象而不是作为一个ActiveX对象实现。而如今,在认识到实现这一类型的价值及安全性特征之后,微软已经在其IE 7中把XMLHttpRequest实现为一个窗口对象属性。幸运的是,尽管其实现(因而也影响到调用方式)细节不同,但是,所有的浏览器实现都具有类似的功能,并且实质上是相同方法。目前,W3C组织正在努力进行XMLHttpRequest对象的标准化,并且已经发行了有关该W3C规范的一个草案。   本文将对XMLHttpRequest对象API进行详细讨论,并将解释其所有的属性和方法。 二、 XMLHttpRequest对象的属性和事件   XMLHttpRequest对象暴露各种属性、方法和事件以便于脚本处理和控制HTTP请求与响应。下面,我们将对此展开详细的讨论。 readyState属性   当XMLHttpRequest对象把一个HTTP请求发送到服务器时将经历若干种状态:一直等待直到请求被处理;然后,它才接收一个响应。这样一来,脚本才正确响应各种状态-XMLHttpRequest对象暴露一个描述对象的当前状态的readyState属性,如表格1所示。   表格1.XMLHttpRequest对象的ReadyState属性值列表。
苦叶子
2021-09-15
1.3K0
12个可以替代jenkins的CI/CD工具
Jenkins是一个开源的持续集成平台,是DevOps生命周期中的一个重要工具。但是,与当前的用户界面趋势相比,它的界面已经过时,用户界面也不够友好(苦叶子推荐你用script pipeline: Jenkins之jenkinsfile基础)。此外,Jenkin配置可能比较复杂,而且它还有许多其他缺点。
苦叶子
2020-02-25
10.9K0
Selenium Webdriver 3.X源码分析之webdriver.py(三)
command_executor: 表示远程服务器url字符串或自定义的remote_connection.RemoteConnection对象。默认值为:http://127.0.0.1:4444/wd/hub
苦叶子
2019-11-12
8280
零基础掌握Python Selenium[pdf系列]
零基础掌握Python Selenium系列是针对无任何基础的软件测试人员的,主要以代码实例方式,对Python Selenium进行了一一演示,通过学习这个系列,可以从零到入门。
苦叶子
2019-10-31
7860
Selenium Webdriver 3.X源码分析之remote_connection.py
在Selenium Webdriver如何和Selenium Server进行http交互呢?在本文要分析的remote_connection模块就要呈现最核心的交互代码了,是必须深入理解的。
苦叶子
2019-10-14
6130
为什么你学不会Appium
- 基于webdriver协议,看着眼熟不?没错就是和selenium webdriver同源的机制
苦叶子
2019-09-12
5670
一键升级Python所有包
在使用Python的过程中,时间长了,经常会提示说某个模块过时了,或是需要升级到新版本了,可安装了那么多包,一个一个的去升级会死的,真的会死的,所以我们需要一键升级。
苦叶子
2019-08-30
4.3K0
Python安装包的几种常用方式
在学习和使用Python开发过程中,经常需要安装各种依赖包,对于很多新手而言,如果可以通过pip来安装,还是比较容易的,一旦pip无法安装时,会导致一堆懵逼的姿势出来。
苦叶子
2019-08-28
5.5K0
从零开始理解HTTP协议及报文分析
从事性能测试必不可绕过的就是协议,对基本知识的了解,还是深入掌握协议的机制,都能让你在从事性能测试实施时显得更加顺手。
苦叶子
2019-08-21
9920
GitLab部署及常用命令
GitLab社区版是免费的,不但能建立免费的私有仓库而且没有数量上限,参与人员也没有数量限制,还能设置成员的权限,甚至细致到具体某条分支的权限,以及强大的工作流等等。
苦叶子
2019-08-15
2.9K0
java代码覆盖工具Jacoco
Jacoco是一个开源的覆盖率工具。Jacoco可以嵌入到Ant 、Maven中,并提供了EclEmma Eclipse插件,也可以使用JavaAgent技术监控Java程序。很多第三方的工具提供了对Jacoco的集成,如sonar、Jenkins等。
苦叶子
2019-08-05
1.8K0
20+最好的开源自动化测试工具
这些开源工具在自动化测试和手动测试、功能、回归、负载、性能、压力和单元测试、web、移动和桌面测试等领域提供相关的能力支持。
苦叶子
2019-05-30
8.6K0
Robot Framework IDE及插件集
2019年 robotframework ride终于有了更新,如果你已经安装了ride,
苦叶子
2019-03-07
3.5K0
AutoLink开源平台系统流程
为了方便大家理解AutoLink源码和设计原理,画了AutoLink开源平台的关键业务流程
苦叶子
2018-10-23
8030
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档