//js ajax function Ajax(url,type,data,comFun,sucFun,errFun) { //1、创建XMLHttpRequest对象 var xmlHttpRequest; if(window.ActiveXObject) //IE低版本 { xmlHttpRequest = new ActiveXObject("Microsoft.XMLHTTP"); } else if (window.XMLHttpRequest)//Firefox等 { xmlHttpRequest = new XMLHttpRequest(); } //2、创建连接 xmlHttpRequest.open(type, url, true); //处理post请求参数 var params = null; if(type.toLowerCase()=="post") { //post方式要设置请求类型 xmlHttpRequest.setRequestHeader(‘Content-Type‘, ‘application/x-www-form-urlencoded‘); if(typeof data=="string") { params = data; } else { var arr = []; for(var k in data) { arr.push(k+"="+data[k]); } params = arr.join("&"); } } else { //如果是get请求 send方法中的参数为null params = null; } //3、发送请求 xmlHttpRequest.send(params); //4、接受服务器响应结果 xmlHttpRequest.onreadystatechange = function() { // readyState值说明 // 0,初始化,XHR对象已经创建,还未执行open // 1,载入,已经调用open方法,但是还没发送请求 // 2,载入完成,请求已经发送完成 // 3,交互,可以接收到部分数据 if (xmlHttpRequest.readyState == 4) { //complete: 请求完成时执行的函数 //complete(); comFun("请求完成......"); // status值说明 // 200:成功 // 404:没有发现文件、查询或URl // 500:服务器产生内部错误 if(xmlHttpRequest.status == 200) { //success: 请求成功时执行的函数 //success(); var text = xmlHttpRequest.responseText; sucFun(text); } else { //error: 请求失败时执行的函数 //error(); errFun("服务器错误......"); } } } }
时间: 2024-10-10 15:31:47