📄 ajax_func.js
字号:
//定义XMLHttpRequest对象实例
var http_request = false;
//定义可复用的http请求发送函数
function send_request(method,url,content,responseType,callback) {
/* method: 提交方式(POST或GET)
** url : 提交地址
** content: 参数表
** responseType: 返回类型
** callback: 回调函数名 */
http_request = false;
//开始初始化XMLHttpRequest对象
if(window.XMLHttpRequest) { //Mozilla 浏览器
http_request = new XMLHttpRequest();
if (http_request.overrideMimeType) {//设置MiME类别
/* 有些Mozilla浏览器处理服务器未包含XML mime-type头部信息的内容会出错
** 因此要确保返回的内容包含text/xml信息: */
http_request.overrideMimeType("text/xml");
}
}
else if (window.ActiveXObject) { // IE浏览器
try {
http_request = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
http_request = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e) {}
}
}
if (!http_request) { // 异常,创建对象实例失败
window.alert("不能创建XMLHttpRequest对象实例.");
return false;
}
//指定响应处理函数,将函数名赋值给XMLHttpRequest对象onreadystatechange属性就可以了,
//函数名不加括号,不带参数
if(responseType.toLowerCase()=="text") {
//http_request.onreadystatechange = processTextResponse;
http_request.onreadystatechange = callback;
}
else if(responseType.toLowerCase()=="xml") {
//http_request.onreadystatechange = processXMLResponse;
http_request.onreadystatechange = callback;
}
else {
window.alert("响应类别参数错误。");
return false;
}
/* 确定发送请求的方式和URL以及是否异步执行(第三个参数)下段代码
** true:异步方式,服务器接收并响应http请求期间继续执行,当服务器返回数据时,执行回调函数执行
** false:下面的代码不会继续执行,直到服务器返回数据 */
if(method.toLowerCase()=="get") {
http_request.open(method, url, true);
}
else if(method.toLowerCase()=="post") {
http_request.open(method, url, true);
http_request.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
}
else {
window.alert("http请求类别参数错误。");
return false;
}
http_request.send(content);
}
// 处理返回文本格式信息的函数
function processTextResponse() {
/*
先判断请求目前的状态,readyState值为4的时候,代表http请求发送成功并且服务器已经传回所有的信息
可以开始处理信息并更新页面内容了
*/
if (http_request.readyState == 4) { // 判断对象状态
/*
判断返回的http请求的状态码,确定返回页面没有错误
status值为200代表页面正常执行
*/
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
//alert(http_request.responseText);
alert("Text文档响应。");
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
//处理返回的XML格式文档的函数
function processXMLResponse() {
if (http_request.readyState == 4) { // 判断对象状态
if (http_request.status == 200) { // 信息已经成功返回,开始处理信息
//alert(http_request.responseXML);
alert("XML文档响应。");
} else { //页面不正常
alert("您所请求的页面有异常。");
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -