XMLHttpRequeset是什么

XmlHttpRequest,可扩展的超文本传输歇息。从字面上理解:xml,可扩展的标记语言;http,超文本传送协议;request,请求。XmlHttpRequest对象可以利用其中的回调函数,在不刷新页面的情况下,更新页面中的局部的显示。是AJAX可以得以实现的关键对象。

XMLHttpRequest的使用方法

XmlHttpRequest对象的使用,分为五部分。

1.创建HTML文件,并且创建XMLHttpRequest对象(由于IE浏览器不支持单独文件的JavaScript调用,所以将JavaScript写在了HTML文件中)。

2.注册回调方法。

3.设置和服务器端交互的相应参数。

4. 设置向服务器端发送的数据,启动和服务器端的交互,由于需要发送的数据都已经在URL中写入了,所以,这里就写如下代码就可以了(代码走到这里真正的和服务器开始交互)代码如下:

xmlhttp.send(null);

         5.写回调方法。在回调函数中判断交互是否结束,相应是否正确,并根据需要获取服务器端返回的数据,更新页面内容。

常用属性和方法

open方法: 指定和服务器交互的HTTP方法,URL地址及其他请求信息。具体写法:open(string method,string url,Boolean
asynch, string username,string password)

其中,method 表示HTTP请求方法。支持所有HTTP的方法;url表示请求的服务器的地址;asynch表示是否采用异步方式,true表示异步,
false表示同步。后面两个参数可以不指定。提供http认证机制需要的用户名和密码。

send(content) 向服务器发出请求,如果采用异步方式,该方法会立即返回。
content可以不指定或指定为null表示不发送数据。其内容可以是dom对象,也可以是输入流或者字符串。

XMLHttpRequest对象的使用注意事项:

1.不同浏览器中XMLHttpRequest对象建立的方式不同。

2.设置回调函数时,不要在函数名称后面加括号。仅仅是将回调函数的名字赋值给onreadystatechange这个属性。每次readyState的值发生变化的时候,回调函数都会被调用,但是我们一般只需要readyState状态为4的时候的数据。

3.open方法最多可以有五个参数,其中前三个是必须的。即使写null也不可以不写。

4.回调函数中,最好将判断readyState和status的两个if条件分开写。readyState写在外层,status写在内层。(这样在readyState不通过(值不为4)的时候,就不会浪费时间去做status的验证。)

5.当服务器没有正确返回xml数据的时候,在js中使用responseXML的方式获取返回的xml的数据的时候,不同浏览器的结果是有差异的。

初识XMLHttpRequeset的更多相关文章

  1. Android动画效果之初识Property Animation(属性动画)

    前言: 前面两篇介绍了Android的Tween Animation(补间动画) Android动画效果之Tween Animation(补间动画).Frame Animation(逐帧动画)Andr ...

  2. 初识Hadoop

    第一部分:              初识Hadoop 一.             谁说大象不能跳舞 业务数据越来越多,用关系型数据库来存储和处理数据越来越感觉吃力,一个查询或者一个导出,要执行很长 ...

  3. python学习笔记(基础四:模块初识、pyc和PyCodeObject是什么)

    一.模块初识(一) 模块,也叫库.库有标准库第三方库. 注意事项:文件名不能和导入的模块名相同 1. sys模块 import sys print(sys.path) #打印环境变量 print(sy ...

  4. 初识IOS,Label控件的应用。

    初识IOS,Label控件的应用. // // ViewController.m // Gua.test // // Created by 郭美男 on 16/5/31. // Copyright © ...

  5. UI篇(初识君面)

    我们的APP要想吸引用户,就要把UI(脸蛋)搞漂亮一点.毕竟好的外貌是增进人际关系的第一步,我们程序员看到一个APP时,第一眼就是看这个软件的功能,不去关心界面是否漂亮,看到好的程序会说"我 ...

  6. Python导出Excel为Lua/Json/Xml实例教程(一):初识Python

    Python导出Excel为Lua/Json/Xml实例教程(一):初识Python 相关链接: Python导出Excel为Lua/Json/Xml实例教程(一):初识Python Python导出 ...

  7. 初识SpringMvc

    初识SpringMvc springMvc简介:SpringMVC也叫Spring Web mvc,属于表现层的框架.Spring MVC是Spring框架的一部分,是在Spring3.0后发布的 s ...

  8. 初识redis数据类型

    初识redis数据类型 1.String(字符串) string是redis最基本的类型,一个key对应一个value. string类型是二进制安全的.意思是redis的string可以包含任何数据 ...

  9. Redis初识、设计思想与一些学习资源推荐

    一.Redis简介 1.什么是Redis Redis 是一个开源的使用ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志型.Key-Value 数据库,并提供多种语言的API.从2010 年 ...

随机推荐

  1. 将UTF8编码转化为中文 - NSString方法

    方法一: 代码如下,如有更好的方法 麻烦贴出来,这个方法是通过webview进行解码的 UIWebView *web = [[UIWebView alloc] init]; NSString *tsw ...

  2. iOS 添加导航按钮

    iOS设置导航按钮navigationBar中包含了这几个重要组成部分:leftBarButtonItem, rightBarButtonItem, backBarButtonItem, title. ...

  3. P3197 [HNOI2008]越狱

    题目描述 监狱有连续编号为1...N的N个房间,每个房间关押一个犯人,有M种宗教,每个犯人可能信仰其中一种.如果相邻房间的犯人的宗教相同,就可能发生越狱,求有多少种状态可能发生越狱 输入输出格式 输入 ...

  4. mysql优化------2 查看系统性能(表大小,I/o性能)

    三:判断mysql I/0 性能的一种方式(网络搜集供参考) show global status like 'innodb_dblwr%'\G   如果innodb_dblwr_pages_writ ...

  5. Android源码编译jar包BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY的区别(二)

    上文简单介绍了BUILD_JAVA_LIBRARY 与BUILD_STATIC_JAVA_LIBRARY编译出来jar包的区别, 那么你如果拿到了一个内容是dex格式的jar包,而你又偏偏需要这个ja ...

  6. uos事件控制块与任务同步

    Ucos为了任务之间的通讯定义了信号量,互斥性信号量,消息对象 消息队列等结构以及api,为了统一的管理这些同步,定义了一个结构叫做时间控制块OS_EVENT,如下 typedef struct os ...

  7. LearningDocker--Chapter3--Building images

    This chapter is quite different from the earlier ones, and it is in this chapter to clearly describe ...

  8. Android自定义控件(状态提示图表) (转)

    源:Android自定义控件(状态提示图表) 源:Android应用开发 [工匠若水 http://blog.csdn.net/yanbober 转载烦请注明出处,尊重分享成果] 1  背景 前面分析 ...

  9. 在Eclipse中配置tomcat

    为了在Eclipse中进行struts2的测试,才发现自己机器上的Eclipse没有集成Tomcat,在网上找了半天,不是这个插件没有下载地址,就是那个有好多注意事项或者版本问题. 结果,自己到tom ...

  10. poi2007

    序:为什么写poi,zy说poi都是思路题目,不像hnoi妈的数据结构队..... 1.bzoj1102 题目大意:定义了一个山谷和山峰,求他们数量. 题解:这种题bfs咯,在bfs的时候记录一下相邻 ...