Ajax XMLHttpRequest对象的三个属性以及open和send方法

(1)onreadystatechange 属性 onreadystatechange 属性存有处理服务器响应的函数。下面的代码定义一个空的函数,可同时对 onreadystatechange 属性进行设置:

xmlHttp.onreadystatechange=function() { // 我们需要在这里写一些代码 } (2)readyState 属性 readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。

这是 readyState 属性可能的值:

状态 描述 0 请求未初始化(在调用 open() 之前) 1 请求已提出(调用 send() 之前) 2 请求已发送(这里通常可以从响应得到内容头部) 3 请求处理中(响应中通常有部分数据可用,但是服务器还没有完成响应) 4 请求已完成(可以访问服务器响应并使用它)

我们要向这个 onreadystatechange 函数添加一条 If 语句,来测试我们的响应是否已完成(意味着可获得数据):

xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4)     {     // 从服务器的response获得数据     } } (3)responseText 属性 可以通过 responseText 属性来取回由服务器返回的数据。

在我们的代码中,我们将把时间文本框的值设置为等于 responseText:

xmlHttp.onreadystatechange=function() { if(xmlHttp.readyState==4)     {     document.myForm.time.value=xmlHttp.responseText;     } }

另外:

AJAX - 向服务器发送一个请求 要想把请求发送到服务器,我们就需要使用 open() 方法和 send() 方法。

open() 方法需要三个参数:

  第一个参数定义发送请求所使用的方法(GET 还是 POST)。

与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。

然而,在以下情况中,请使用 POST 请求:

  • 无法使用缓存文件(更新服务器上的文件或数据库)
  • 向服务器发送大量数据(POST 没有数据量限制)
  • 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠

  第二个参数规定服务器端脚本的 URL(该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php (在传回响应之前,能够在服务器上执行任务))。

  第三个参数规定应当对请求进行异步地处理(true(异步)或 false(同步))。

send() 方法可将请求送往服务器。如果我们假设 HTML 文件和 ASP 文件位于相同的目录,那么代码是这样的:

xmlHttp.open("GET","time.asp",true); xmlHttp.send(null);

来自: http://hi.baidu.com/catprayer/blog/item/7e10a23c230c97e43c6d97f6.html   (有修改)

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Java技术栈

干货 | Tomcat 连接数与线程池详解

在使用tomcat时,经常会遇到连接数、线程数之类的配置问题,要真正理解这些概念,必须先了解Tomcat的连接器(Connector)。

1324
来自专栏王小雷

HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系

HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubunt...

3178
来自专栏决胜机器学习

Redis专题(八)——Redis高可用(集群篇)

Redis专题(八) ——Redis高可用(集群篇) (原创内容,转载请注明来源,谢谢) 1、分片方式 当主从结构的每个库都存储全量数据,则导致该主从系统的...

3659
来自专栏跟着阿笨一起玩NET

双系统如何正确的使用修复BCD工具分享

安装双系统时候,用于种种原因会导致开机启动只显示一个系统,此时需要修复下BCD即可。

1971
来自专栏hbbliyong

Spring Boot修改启动端口

spring boot是个好东西,可以不用容器直接在main方法中启动,而且无需配置文件,方便快速搭建环境。可是当我们要同时启动2个springboot工程时,...

4037
来自专栏hbbliyong

MyBatis3-配置使用log4j输出日志

配置步骤: 1、POM的依赖引入 <!-- log4j --> <!-- https://mvnrepository.com/a...

2877
来自专栏CSDN技术头条

Tomcat 性能优化

Sun 公司创建了第一个 Servlet 容器,即 Java Web Server,但 JWS 只是为了演示 Servlet 的相应功能,所以其性能很不稳定。与...

1173
来自专栏编程坑太多

springboot(21)容器整合

1792
来自专栏WindCoder

tomcat基础小结

bin:可执行文件,包含启动脚本 conf:配置文件 lib:tomcat的依赖库 logs:日志 temp:临时文件 webapp:默认的应用部署目...

791
来自专栏云计算教程系列

如何在Ubuntu 16.04上使用Gunicorn和Nginx部署Falcon Web应用程序

Falcon是用于构建Web应用程序的最小Python框架。它非常适合构建遵循REST架构风格的API 。它是一个低级别,高性能的框架,可以在不牺牲开发速度的情...

1954

扫码关注云+社区