设为首页
优惠IDC
收藏本站
六狼博客
六狼论坛
开启辅助访问
切换到窄版
用户名
Email
自动登录
找回密码
密码
登录
立即注册
只需一步,快速开始
只需一步,快速开始
快捷导航
门户
首页
BBS
云计算
大数据
手机
移动开发android,ios,windows phone,windows mobile
编程
编程技术java,php,python,delphi,ruby,c,c++
前端
WEB前端htmlcss,javascript,jquery,html5
数据库
数据库开发Access,mysql,oracle,sql server,MongoDB
系统
操作系统windows,linux,unix,os,RedHat,tomcat
架构
项目管理
软件设计,架构设计,面向对象,设计模式,项目管理
企业
服务
运维实战
神马
搜索
搜索
热搜:
php
java
python
ruby
hadoop
sphinx
solr
ios
android
windows
centos
本版
帖子
用户
六狼论坛
»
首页
›
WEB前端
›
JavaScript
›
ajax封装类
返回列表
查看:
72
|
回复:
0
ajax封装类
[复制链接]
diaoweili
diaoweili
当前离线
积分
57
窥视卡
雷达卡
升级
4.67%
当前用户组为
秀才
当前积分为
57
, 升到下一级还需要 143 点。
13
主题
13
主题
13
主题
秀才
秀才, 积分 57, 距离下一级还需 143 积分
秀才, 积分 57, 距离下一级还需 143 积分
积分
57
发消息
楼主
|
发表于 2013-1-29 11:41:24
|
显示全部楼层
|
阅读模式
function
ajax(method,synchronous){
this
._httpReq =
false
;
/*ajax初始化对象*/
this
.method = method;
/*get|post*/
this
.syn = synchronous;
/*是否采用异步请求,默认true*/
this
.url =
""
;
/*提交异步请求的url地址*/
this
.resType =
""
;
/*异步请求返回数据类型text|xml*/
this
.callback =
""
;
/*异步请求完成后的回滚函数*/
this
.loading =
""
;
/*load函数*/
this
.content =
null
;
/*Ajax中send方法的参数*/
this
.readystate = -1;
/*ajax的请求状态*/
this
.state = -1;
/*http请求响应代码*/
/************ get/set方法开始 ***************/
//设置提交异步请求的url地址
this
.setUrl =
function
(url){
this
.url = url;
}
//设置异步请求返回数据类型text|xml
this
.setResType =
function
(restype){
this
.resType = restype;
}
//设置回滚函数
this
.setCallback =
function
(func){
this
.callback = func;
}
//设置load函数
this
.setLoading =
function
(loadFunc){
this
.loading = loadFunc;
}
//设置send自带的参数值,默认null
this
.setContent =
function
(contents){
this
.content = contents;
}
/*********get/set方法结束*******/
/*********状态显示方法*********/
//调用window.alert方法
this
.alert =
function
(msg){
window.alert(msg);
}
//调用window.status的方法
this
.status =
function
(msg){
window.status = msg;
}
/*********状态显示方法结束*********/
/*************执行方法开始*****************/
//创建HttpXMLRequest
this
.createXMLRequest =
function
(){
if
(window.XMLHttpRequest){
this
._httpReq =
new
XMLHttpRequest();
if
(
this
._httpReq.overrideMimeType){
this
._httpReq.overrideMimeType(
"text/xml"
);
}
}
else
if
(window.ActiveXObject){
try
{
this
._httpReq =
new
ActiveXObject(
"Msxml2.XMLHTTP"
);
}
catch
(e){
try
{
this
._httpReq =
new
ActiveXObject(
"Microsoft.XMLHTTP"
);
}
catch
(e){}
}
}
}
//初始化ajax对象
this
.init =
function
(){
this
.createXMLRequest();
}
//发送一个http请求
this
.send =
function
(){
if
(
this
.resType.toLowerCase()==
"post"
){
_httpReq.setRequestHeader(
"Content-Type"
,
"application/x-www-form-urlencoded"
);
}
this
._httpReq.open(
this
.method,
this
.url,
this
.syn);
this
._httpReq.send(
this
.content);
}
//取消一个http请求
this
.abort =
function
(){
this
._httpReq.abort();
}
this
.callbackState =
function
(){
switch
(
this
._httpReq.readyState){
case
0:
this
.readystate = 0;
break
;
case
1:
this
.readystate = 1;
break
;
case
2:
this
.readystate = 2;
break
;
case
3:
this
.readystate = 3;
break
;
case
4:
this
.readystate = 4;
switch
(
this
._httpReq.status){
case
200:
eval(
this
.callback);
break
;
case
202:
this
.status(
"请求处理中,还没处理完毕!"
);
break
;
case
400:
this
.status(
"错误的请求!"
);
break
;
case
404:
this
.status(
"请求资源未找到!"
);
break
;
case
500:
this
.status(
"内部服务器错误,请联系管理员!"
);
break
;
default
:
this
.status(
"返回数据失败,"
+
this
._httpReq.status);
break
;
}
break
;
default
:
this
.readystate = 0;
break
;
}
}
this
.onReadyStateChange =
function
(){
var
owner =
this
;
this
._httpReq.onreadystatechange =
function
(){
owner.callbackState.call(owner);
}
}
/*************执行方法结束*****************/
}
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
返回列表
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
Copyright © 2008-2020
六狼论坛
(http://it.6wolf.com) 版权所有 All Rights Reserved.
Powered by
Discuz!
X3.4
京ICP备14020293号-2
本网站内容均收集于互联网,如有问题请联系
QQ:389897944
予以删除
快速回复
返回顶部
返回列表