javascript - 封装ajax

封装,使用有示例.

复制代码
 1     // 封装示例:
 2     function ajax(url, method, params, done) {
 3       var xhr = null;
 4       method = method.toUpperCase();
 5       xhr = window.XMLHttpRequest ? xhr = window.XMLHttpRequest : xhr = new ActiveXObject('Microsoft.XMLHTTP');
 6 
 7       if (typeof params === 'object') {
 8         var tempArr = [];
 9         for (var key in params) {
10           var value = params[key];
11           tempArr.push(key + '=' + value);
12         }
13         params = tempArr.join('&');
14       }
15 
16       // GET
17       if (method === 'GET') {
18         url += '?' + params;
19       }
20       xhr.open(method, url, false);
21 
22       // POST
23       var data = null;
24       if (method === 'POST') {
25         xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
26         data = params;
27       }
28 
29       xhr.onreadystatechange = function () {
30         if (this.readyState !== 4 && this.status !== 200) return false;
31         ongone(this.responseText);
32       }
33       xhr.send(data);
34     }
35 
36 
37     // 调用示例:ajax('get','test.php',{id:123,},ongone)
38     ajax('GET', 'test.php', {}, ongone);
39 
40     var ongone = function (res) {
41       console.log('1');
42       console.log('2');
43       console.log(res);
44       console.log('gone!');
45     }
复制代码

 

posted @   Sunsin  阅读(161)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 25岁的心里话
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示