博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回忆Ajax ๑乛◡乛๑
阅读量:5260 次
发布时间:2019-06-14

本文共 2158 字,大约阅读时间需要 7 分钟。

东西越多,记不完,也记不住,笔记是最好的记忆了。

回顾以前的ajax的写法,简单封装一个ajax。

//data = {    //    url: "url",    //    method: "post/get",    //    async: "true/false",    //    params: { key: value },    //    success: fn,    //    error: fn    //};    function Ajax(data) {        //默认参数        var _data = {            method: "post",            async: "true",            params: '',            success: function (respose) { },            error: function (respose) { }        }        //重写默认参数        for (var key in data) {            _data[key] = data[key];        }        //处理数据        if (_data.params) {            var paramsArr = [];            for (var pkey in _data.params) {                paramsArr.push(pkey + '=' + _data.params[pkey]);            }            if (_data.method.toUpperCase() == 'GET') {                _data.url += (_data.url.indexOf('?') > 0 ? '' : '?');                _data.url += paramsArr.join('&') + new Date().getTime();//避免cache;            } else {                _data.params = paramsArr.join('&');            }        }        //异步对象        var xhr = null;        if (window.XMLHttpRequest) {            xhr = new XMLHttpRequest();        } else if (window.ActiveXObject) { //IE            xhr = new ActiveXObject("Microsoft.XMLHTTP");        }        if (xhr == null) {            alert("xhr对象实例化失败!")            return false;        }        //准备异步操作        xhr.open(_data.method, _data.url, _data.async);        //设置回调函数        xhr.onreadystatechange = function () {            console.log(this.readyState + " " + this.status);            if (this.readyState == 4) {                if (this.status == 200) {                    _data.success(this.responseText);                } else {                    _data.error(this.responseText);                }            }        };        if (_data.method.toUpperCase() === 'GET') {            xhr.send(null);        } else {            //xhr.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");            xhr.setRequestHeader('Content-type', 'application/x-www-form-urlencoded');            xhr.send(_data.params);        }    }

 

转载于:https://www.cnblogs.com/fnz0/p/6746718.html

你可能感兴趣的文章
HDU 4122
查看>>
Suite3.4.7和Keil u3自带fx2.h、fx2regs.h文件的异同
查看>>
盖德化工网采集1
查看>>
算法优点和缺点汇总(推荐AAA)
查看>>
图解javascript this指向什么?
查看>>
JS正则表达式将url转成json格式
查看>>
ios uiwebview 上几个技巧
查看>>
C#更改控制台文本的前景色和背景色
查看>>
比对两个同类型的List
查看>>
Falsk_day01
查看>>
JQuery 加载 CSS、JS 文件
查看>>
数据结构(七)排序---希尔排序
查看>>
webkit 渲染机制
查看>>
数据结构(五)图---最小生成树(普里姆算法)
查看>>
Linux下./configure && make && make install 编译安装和卸载
查看>>
iOS-Senior17-UIView动画
查看>>
#undef
查看>>
CefSharp v62修改,支持.net4.0
查看>>
Excel 常用设置
查看>>
第3章 机器学习的典型应用 3-5 典型应用自然语言处理和图像识别
查看>>