JS之封装一个Ajax函数
Ajax方法的封装
要求:
1、定义一个js方法,传入url,请求类型,请求参数,返回参数类型,回调方法,然后完成其ajax操作,并能完成回调。
步骤:
1、定义function,名称为ajax,参数url、type、param、datatype、callback 2、定义一个空的XMLHttpRequest对象。 3、然后区分浏览器,然后如果是IE6以上的,则直接new XMLHttpRequest 如果是IE6以下的,那么newActiveXObject 4、判斷參數中的type ① 如果是GET请求,那么拼接param参数。 ② 然后初始化 HTTP 请求参数,例如 URL 和 HTTP 方法,但是并不发送请求 ③ 然后定义一个data变量 ④ 然后判断是否为post请求,如果是,那么给data赋值为param,设置请求头 5、使用XMLHttpRequest发送请求。 6、然后指定回调方法,在回调方法中判断响应码是否为200 7、然后拿到响应中的数据,然后判断相应数据格式 8、将响应格式数据解析为js对象,然后就调用callback回调方法,并传入响应得到的对象
代码实现:
function ajax(url,type,param,dataType,callback) { var xhr =null; if (window.XMLHttpRequest){ xhr = new XMLHttpRequest(); }else { xhr = new ActiveXObject('Microsoft.XMLHTTP'); } if (type == 'get'){ url += "?" +param; } xhr.open(type,url,true); var data = null; if (type == 'post'){ data = param; xhr.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); } xhr.send(data); xhr.onreadystatechange = function () { if (xhr.readyState == 4){ if (xhr.status == 200){ var data = xhr.responseText; if (dataType == 'json'){ data = JSON.parse(data); } callback(data); } } } }

浙公网安备 33010602011771号