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

Javascript
javascript 写类方式之九
javascript 写类方式之十
javascript 浏览器判断 绑定事件 arguments 转换数组 数组遍历
jquery BS,dialog控件自适应大小
javascript 面向对象思想 附源码
js 日期转换成中文格式的函数
JavaScript 对象、函数和继承
JavaScript 解析读取XML文档
javascript获取表格 td 中的内容
javascript xml为数据源的下拉框控件
jQuery 1.3 和 Validation 验证插件1.5.1
javascript 字符 Escape,encodeURI,encodeURIComponent
jquery text,radio,checkbox,select操作实现代码
JavaScript 继承的实现
JS 数组 移除 实现代码
javascript eval()应用实例 select
javascript 焦点的两个问题
JS 巧妙获取剪贴板数据 Excel数据的粘贴
Jquery 组合form元素为json格式,asp.net反序列化
window.onload 加载完毕的问题及解决方案(上)

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


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 191 ::
收藏到网摘: 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浏览器竟然又提上来了。。