XMLHttpRequest对象javascript
变量,此属性只读,状态用长度为4的整型表示.定义以下:java
0 (未初始化)浏览器 |
对象已创建,可是还没有初始化(还没有调用open方法)服务器 |
1 (初始化)异步 |
已调用send()方法,正在发送请求post |
2 (发送数据)url |
send方法调用完成,可是当前的状态及http头未知spa |
3 (数据传送中)xml |
已接收部分数据,由于响应及http头不全,这时经过responseBody和responseText获取部分数据会出现错误,对象 |
4 (完成) |
数据接收完毕,此时能够经过经过responseBody和responseText获取完整的回应数据 |
方法:
open(method,url,boolean) | 打开XMLHttpRequest对象。其中method方法有get,post,delete,put。如果查数据,从服务器中获得必定的数据,则使用get。如果直接提交到服务器中,更新必定的数据,则使用post;url是请求资源的地址。第三个参数表示是否使用异步。默认状况是true,由于Ajax的特色就是异步传送。若使用同步则false |
send | 发送请求Ajax引擎,让Ajax引擎操做 |
send(body):发送请求Ajax引擎,让Ajax引擎操做。其中发送的内容能够是须要的参数,如果没有参数,直接send(null)
Ajax的工做原理 至关于在用户和服务器之间加了—个中间层(AJAX引擎),使用户操做与服务器响应异步化。并非全部的用户请求都提交给服务器,像—些数据验证和数据处理等都交给Ajax引擎本身来作, 只有肯定须要从服务器读取新数据时再由Ajax引擎代为向服务器提交请求。
Ajax:Asynchronous javascript and xml,实现了客户端与服务器进行数据交流过程。使用技术的好处是:不用页面刷新,而且在等待页面传输数据的同时能够进行其余操做。
这就是异步调用的很好体现。首先得了解什么是异步和同步的概念。
举个例子:好比你去图书馆借某种书,惋惜图书馆此书被借完。这时能够采用两种作法。
第一种作法:在图书馆一直等待,直到有人还书,而后再去吃饭睡觉。
第二种作法:直接跟图书馆管理员约定,如果有人还书,直接通知你。你则该忙什么忙什么。到时候会通知你。
如何使用Ajax技术?
首先,有客户端事件触发Ajax事件。
而后,建立xmlHttpRequest对象,根据浏览器不一样,建立的xmlHttpRequest对象不一样。
用open调用,用send发送请求给Ajax引擎。
最后,执行完毕后,把结果返回给客户端。
responseText属性包含了从服务器发送的数据 每次 readyState 值的改变,都会触发 readystatechange 事件