// 实例化,配置请求信息,发送请求,设置回调函数
// 分析:
// 期望:ajax(method,url,data,success)
/**
* ajax封装
* @param {*} method get/post
* @param {*} url 请求资源路径
* @param {*} data 请求参数
* @param {*} success 回调函数
*/
function ajax(method, url, data, success) {
// 1.实例化对象
var xhr = null; // 实例化一个对象,初始值为空 new XMLHttpRequest();
if (window.ActiveXObject) { //IE5IE6是以ActiveXObject的方式引入XMLHttpRequest
xhr = new ActiveXObject('Microsoft.XMLHTTP');
} else if (window.XMLHttpRequest) { //除IE5 IE6以外的浏览器XMLHttpRequest
xhr = new XMLHttpRequest(); //实例化一个XMLHttpRequest
}
// 2.配置信息 open()
if (method == 'GET' && data) { //判断data存在并且是GET方式
url += '?' + data;
}
xhr.open(method, url, true);
// 3.发送请求 send(),如果是POST方式,参数写在括号里
if (method == 'GET') {
xhr.send();
} else if (method == 'POST') {
xhr.setRequestHeader('content-type', 'application/x-www-form-urlencoded');
xhr.send(data);
}
xhr.onreadystatechange = function () {
if (xhr.readyState == 4) {
if (xhr.status == 200) {
// 如果回调函数不为空,就执行这个回调函数,该函数有一个参数xhr.responseText就是返回的内容
success && success(xhr.responseText);
}
}
}
}
封装ajax
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- //创建函数,需传入的参数:请求方式,请求接口地址,请求参数,请求成功回调函数,请求失败回调函数 function...
- 一直在用jQuery方法来写ajax请求,用的多了,不免对这其中是怎么实现的产生了兴趣,于是乎,小弟闲来无聊研究了...