41 Ajax封装
Posted Scorpicat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了41 Ajax封装相关的知识,希望对你有一定的参考价值。
封装代码
/* method: 请求方式,值为get或者post url:请求地址 data:没有值需要传入null 有请求数据则传入字符串数据,格式为"a=1&b=2"; deal200: 接受一个带有一个形参的js函数对象,形参接收的实参是ajax引擎对象 deal404:接受一个js函数对象 deal500:接受一个js函数对象 */ function myAjax(method,url,data,deal200,deal404,deal500,async){ //创建ajax引擎对象 var ajax=getAjax(); //复写onreadystatement函数 ajax.onreadystatechange=function(){ //判断Ajax状态吗 if(ajax.readyState==4){ //判断响应状态吗 if(ajax.status==200){ if(deal200){ deal200(ajax); } }else if(ajax.status==404){ if(deal404){ deal404(); } }else if(ajax.status==500){ if(deal500){ deal500(); } } } } //发送请求 if("get"==method){ ajax.open("get",url+(data==null?"":"?"+data),async); ajax.send(null); }else if("post"==method){ ajax.open("post",url,async); ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); ajax.send(data); } } /* --------------------------------------------------------------------------- */ function getAjax(){ var ajax; if(window.XMLHttpRequest){//火狐 ajax=new XMLHttpRequest(); }else if(window.ActiveXObject){//ie ajax=new ActiveXObject("Msxml2.XMLHTTP"); } return ajax; }
以上是关于41 Ajax封装的主要内容,如果未能解决你的问题,请参考以下文章
VSCode自定义代码片段14——Vue的axios网络请求封装
VSCode自定义代码片段14——Vue的axios网络请求封装