原生ajax
var Ajax={
2 get: function (url,fn){
3 var obj=new XMLHttpRequest(); // XMLHttpRequest对象用于在后台与服务器交换数据
4 obj.open('GET',url,true);
5 obj.onreadystatechange=function(){
6 if (obj.readyState == 4 && obj.status == 200 || obj.status == 304) { // readyState==4说明请求已完成
7 fn.call(this, obj.responseText); //从服务器获得数据
8 }
9 };
10 obj.send(null);
11 },
12 post: function (url, data, fn) {
13 var obj = new XMLHttpRequest();
14 obj.open("POST", url, true);
15 obj.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); // 发送信息至服务器时内容编码类型
16 obj.onreadystatechange = function () {
17 if (obj.readyState == 4 && (obj.status == 200 || obj.status == 304)) { // 304未修改
18 fn.call(this, obj.responseText);
19 }
20 };
21 obj.send(data);
22 }
23 }
注释:
1,open() 方法需要三个参数:
第一个参数定义发送请求所使用的方法(GET 还是 POST)。与 POST 相比,GET 更简单也更快,并且在大部分情况下都能用。然而,在以下情况中,请使用 POST 请求:
- 无法使用缓存文件(更新服务器上的文件或数据库)
- 向服务器发送大量数据(POST 没有数据量限制)
- 发送包含未知字符的用户输入时,POST 比 GET 更稳定也更可靠
第二个参数规定服务器端脚本的 URL(该文件可以是任何类型的文件,比如 .txt 和 .xml,或者服务器脚本文件,比如 .asp 和 .php (在传回响应之前,能够在服务器上执行任务))。
第三个参数规定应当对请求进行异步地处理(true(异步)或 false(同步))。
2,send() 方法可将请求送往服务器。
3,onreadystatechange 属性存有处理服务器响应的函数。
4,readyState 属性存有服务器响应的状态信息。每当 readyState 改变时,onreadystatechange 函数就会被执行。
通过学习对XMLHttpRequest对象又熟悉了一些,哈哈
有耕耘、有搬运、共学习