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

开源优测

公众号:开源优测 分享软件测试方面的基础、开源技术、工具、理论和方案
专栏作者
524
文章
637164
阅读量
108
订阅数
剖析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
绝大部分测试和开发人员都不知道的DLL
1. Kernel32.dll 它包含那些用于管理内存、进程和线程的函数,例如CreateThread函数;
苦叶子
2021-09-15
7070
Pytest基础指南之常用配置项及实例
在前文Pytest基础指南之APIs集大体介绍了Pytest的API集以及大体能力,本文主要介绍其中的配置项这块,通过具体的实例来说明配置使用方法,当然了如果你对Pytest还未做过任何了解可以参见最初的文章Pytest基础指南之介绍、环境及安装和Pytest基础指南之如何选择unitttest与pytest来了解一下pytest相关基础。
苦叶子
2020-12-29
6660
Python测试开发之输入输出流
如果需要输出的形式更加多样化,更加个性化,可以使用str.format()函数来进行格式化。
苦叶子
2020-09-10
7030
掌握测试开发必备的基础
第一,对于掌握测试开发必备的基础,首先你需要准备好系列书籍,不局限于技术、工具的书籍、同样的对于相关的书籍都应该要涉猎,这是一项长期艰苦的工作,因为你要不停的阅读增加知识面和知识的深度。
苦叶子
2020-08-31
6150
Jenkins之声明式pipeline基础
Jenkins 2.0的到来,pipline进入了视野,jenkins2.0的核心特性。也是最适合持续交付的feature。
苦叶子
2020-02-25
9830
Jenkins之pipeline开发工具
新手写jenkins pipeline,最常见的是在jenkins里直接写,如下所示
苦叶子
2020-02-25
2.6K0
Selenium Webdriver 3.X源码分析之核心目录结构
在看Selenium 3.X核心目录结构前,我们先看一个基础的Selenium使用实例
苦叶子
2019-09-12
8730
汉化你的Visual Studio Code
如果可以,还是直接用英文版的,因为大部分情况下,压根不需要认识几个单词,尤其是如果你长期面对英文环境,慢慢的你就会习惯看英文,从而在阅读英文文档时,不会出现陌生感,利于提升英语阅读能力。
苦叶子
2019-08-12
1.2K0
工作中用了Visual Studio Code哪些插件
随着Visual Studio Code越来越完善,逐步在工作中由PyCharm Community迁移至Visual Studio Code下进行开发,为什么要做迁移呢?
苦叶子
2019-08-08
1.2K0
数据库测试的重要性、组件和过程
企业级的服务系统通常是复杂的,一般都是多层设计,包括用户界面、业务逻辑、数据访问层和数据库层等。要确保服务按预期运行,所有这些层都需要一致且准确的协同工作。
苦叶子
2019-06-02
9050
在自动化测试工作之前,你应该知道的10条建议
关于自动化测试,这些年经历了太多的坑,有被动的坑,也有自己主动挖的坑,在这里做了一些总结。
苦叶子
2019-05-30
4700
代码阅读,就怕你知道却不会用
在函数定义、引用、实现的地方右击选择"Go To"根据需要选择跳转至定义、实现、父函数、测试函数等等
苦叶子
2019-05-14
2450
RFC2861 TCP 拥塞窗口检验
组织:中国互动出版网(http://www.china-pub.com/) RFC文档中文翻译计划(http://www.china-pub.com/compters/emook/aboutemook.htm) E-mail:ouyang@china-pub.com 译者:廖正军(jerry.liao jerry.liao@163.net) 译文发布时间:2001-7-5 版权:本中文翻译文档版权归中国互动出版网所有。可以用于非商业用途自由转载,但必须 保留本文档的翻译及版权信息。 Network
苦叶子
2018-07-25
8290
[快学Python3]数据结构与算法-二分查找
概述 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好。 其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功; 否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。 重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。 算法复杂度 二
苦叶子
2018-04-09
5300
Python3冒泡排序
Python3冒泡排序 概述 冒泡排序(Bubble Sort),是一种计算机科学领域的较简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。 走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列已经排序完成。 算法原理 冒泡排序算法的运作如下: 比较相邻的元素。如果第一个比第二个大,就交换他们两个。 对每一对相邻元素作同样的工作,从开始第一对到结尾的最后一对。在这一点,最后的元素应该会是最大的数。 针对所有的元素重复以上的步骤,除了最后一个。 持续每
苦叶子
2018-04-09
8190
Python3希尔排序
希尔排序 概述 希尔排序(Shell's Sort)是插入排序的一种又称“缩小增量排序”(Diminshing Increment Sort),是直接插入排序算法的一种更高效的改进版本。 希尔排序是非稳定排序算法。 该方法因D.L.Shell于1959年提出而得名。 希尔排序是把记录按下标的一定增量分组,对每组使用直接插入排序算法排序; 随着增量逐渐减少,每组包含的关键词越来越多,当增量减至1时,整个文件恰被分成一组,算法便终止。 基本过程 希尔排序属于插入类排序,是将整个有序序列分割成若干小的子序列分别进
苦叶子
2018-04-09
7820
积微速成计划第一期第一次总结
经过昨天启动发布说明及第一次任务,今天做一下启动总结说明 从总体上来看存在以下几个主要问题: 比较缺乏知识的梳理能力,尤其是把零散的知识点梳理成解决某一应用场景的能力 编程底子相对的弱,缺乏基本的代码
苦叶子
2018-04-09
5570
[快学Python3]数据结构与算法-二分查找
概述 二分查找又称折半查找,优点是比较次数少,查找速度快,平均性能好。 其缺点是要求待查表为有序表,且插入删除困难。因此,折半查找方法适用于不经常变动而查找频繁的有序列表。 首先,假设表中元素是按升序排列,将表中间位置记录的关键字与查找关键字比较,如果两者相等,则查找成功; 否则利用中间位置记录将表分成前、后两个子表,如果中间位置记录的关键字大于查找关键字,则进一步查找前一子表,否则进一步查找后一子表。 重复以上过程,直到找到满足条件的记录,使查找成功,或直到子表不存在为止,此时查找不成功。 算法复杂度 二
苦叶子
2018-04-09
9740
没有更多了
社区活动
腾讯技术创作狂欢月
“码”上创作 21 天,分 10000 元奖品池!
Python精品学习库
代码在线跑,知识轻松学
博客搬家 | 分享价值百万资源包
自行/邀约他人一键搬运博客,速成社区影响力并领取好礼
技术创作特训营·精选知识专栏
往期视频·千货材料·成员作品 最新动态
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档