当前位置: 首页 > 图文教程 > 网络编程 > Javascript > JavaScript 封装Ajax传递的数据代码

Javascript
用JavaScript实现浏览器地震效果
Javascript实例教程(8) 利用Javascript基于浏览器类型的重定向
Javascript实例教程(14) 鼠标触发窗口
使主页呈现“飞舞”特效
Javascript实例教程(21) OLE Automation(1)
Javascript实例教程(13) 鼠标移过时报警
Javascript实例教程(10) 随机显示图片
Javascript实例教程(2) 创建弹出式窗口
JavaScript 小技巧(第十集)
Javascript实例教程(3) 创建折叠式导航菜单
Javascript实例教程(7) 利用Javascript进行密码保护
完美解决一个事件激活多个函数(2)
Javascript模拟游戏中的弹出菜单效果
Javascript实例教程(6) 在一个表单中设置和检查Cookies
JavaScript 小技巧(第八集)
Javascript实例教程(4) 探测浏览器插件
JavaScript 小技巧(第九集)
JavaScript学习:基础继承机制
初学Javascript之cookie篇(译)
让弹出窗口变得“体贴”一些(javascript)

Javascript 中的 JavaScript 封装Ajax传递的数据代码


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 162 ::
收藏到网摘: n/a

在使用Ajax传输数据时,少不了对传递的字符进行转码,我的实现方式是将需要传递的数据暂存到一js Bean中,将js Bean放到Array中,生成传输参数时对Array中的jsBean进行分解,得到相应属性信息并编码..
复制代码 代码如下:

var paramBeanList = new Array();
Array.prototype.addParamBean=function(paramBeanObj){
var index = this.containParamBean(paramBeanObj);
if (index != -1) {
this[index] = paramBeanObj;
} else {
this.push(paramBeanObj);
}
};
Array.prototype.clear=function(){
if (this.length == 0) {
return;
}
for (var index in this) {
this.pop();
}
};
Array.prototype.containParamBean=function(paramBeanObj){
var index = -1;
if (this.length == 0) {
return index;
}
for (var tempIndex = 0, step = this.length; tempIndex < step; tempIndex++) {
if (this[tempIndex].compare(paramBeanObj) == 0) {
index = tempIndex;
break;
}
}
return index;
};
var ParamBean = new function(pkCode, opDate, value) {
this.pkCode = pkCode;
this.opDate = opDate;
this.value = value;
};
ParamBean.prototype={
toString:function() {
return "[pkCode:" + this.pkCode + ",opDate:" + this.opDate +",value:" + this.value + "]";
},
doVerify:function() {
return (this.pkCode ? this.opDate ? this.value ? "true" : "false" : "false" : "false");
},
compare:function(otherObj) {
var result = -1;
if (otherObj) {
if (this.pkCode == otherObj.pkCode && this.opDate == otherObj.opDate
&& this.value == otherObj.value) {
result = 0;
}
}
return result;
}
};
var ParamUtils = new Object();
ParamUtils.doCreateAjaxStr=function() {
var paramStr = "";
if (paramBeanList.length == 0) {
return paramStr;
}
var keyParamArray = new Array();
var valueParamArray = new Array();
for (var index = 0, step = paramBeanList.length; index < step; index++) {
var tempObj = paramBeanList[index];
keyParamArray.push(tempObj.pkCode + "`" + tempObj.opDate);
valueParamArray.push(tempObj.value);
}
paramStr = "KEY_PARAM=".concat(encodeURIComponent(keyParamArray.join(","))).concat("&").concat("VALUE_PARAM=".concat(encodeURIComponent(valueParamArray.join(","))));
return paramStr;
};

这篇文章我写了一会,到了csdn上弄了半天提不上去,我用IE6切到高级编辑,内容直接就是空,最后用Firefox浏览器竟然又提上来了。。