//工具
var Utils = {
//通过表单得到数组
getArrayByForm : function (formId) {
var arr = $(formId).serializeArray();
return arr;
},
//通过数组得到字符串(多值和单值)后台无需定义数组
getStringByArray : function (array) {
var arr = $.param(array);
return arr;
},
//通过数组得到JSON对象(单值)
getJSONByArray : function(arr) {
var obj = {};
$.each(arr,function(name,value){
obj[this.name] = this.value;
});
return obj;
},
//通过数组得到JSON对象(单值和多值)
getJSONByArrayEnhanced : function(arr) {
var obj={};
$(arr).each(function(){
if(obj[this.name]){
if($.isArray(obj[this.name])){
obj[this.name].push(this.value);
}else{
obj[this.name]=[obj[this.name],this.value];
}
}else{
obj[this.name]=this.value;
}
});
return obj;
},
//通过表单得到json字符串
getStringByForm : function (formId){
var str = $(formId).serialize();
return str;
},
//通过 json字符串得到JSON对象(单值),
getJSONByStringForSecurity : function(str){
var str=str.replace(/&/g,"\",\"");
str=str.replace(/=/g,"\":\"");
str = "{\""+str+"\"}";
var obj = JSON.parse(str);//官方
return obj;
},
//通过 json字符串得到JSON对象(单值),有风险
getJSONByStringForRisk : function(str){
var str = str.replace(/&/g,"','");
str = str.replace(/=/g,"':'");
str = "({'"+str +"'})";
var obj = "";
try {
obj = eval(str); //不安全会执行json串中的表达式
}catch(exception) {
alert(exception);
}
return obj;
},
//通过 json字符串得到JSON对象(单值和多值),有风险 --完善中
getJSONByStringEnhanced : function (str) {
var jsonObj = {};
str = str.replace(/\+/g," "); // g表示对整个字符串中符合条件的都进行替换
var param = str.split("&");
$.each(param,function(name,value){
//alert(name + "----" + value);
});
for ( var i = 0; param != null && i < param.length; i++) {
var parai = param[i].split("=");
for(var j = 1; param != null && j < param.length; j++) {
var paraj = param[j].split("=");
if(parai[1] == paraj[1]) {
jsonObj[parai[0]] = para[1];
}
}
jsonObj[para[0]] = para[1];
}
var temp = JSON.stringify(jsonObj);
var queryParam = JSON.parse(temp);
return queryParam;
}
}
var Utils = {
//通过表单得到数组
getArrayByForm : function (formId) {
var arr = $(formId).serializeArray();
return arr;
},
//通过数组得到字符串(多值和单值)后台无需定义数组
getStringByArray : function (array) {
var arr = $.param(array);
return arr;
},
//通过数组得到JSON对象(单值)
getJSONByArray : function(arr) {
var obj = {};
$.each(arr,function(name,value){
obj[this.name] = this.value;
});
return obj;
},
//通过数组得到JSON对象(单值和多值)
getJSONByArrayEnhanced : function(arr) {
var obj={};
$(arr).each(function(){
if(obj[this.name]){
if($.isArray(obj[this.name])){
obj[this.name].push(this.value);
}else{
obj[this.name]=[obj[this.name],this.value];
}
}else{
obj[this.name]=this.value;
}
});
return obj;
},
//通过表单得到json字符串
getStringByForm : function (formId){
var str = $(formId).serialize();
return str;
},
//通过 json字符串得到JSON对象(单值),
getJSONByStringForSecurity : function(str){
var str=str.replace(/&/g,"\",\"");
str=str.replace(/=/g,"\":\"");
str = "{\""+str+"\"}";
var obj = JSON.parse(str);//官方
return obj;
},
//通过 json字符串得到JSON对象(单值),有风险
getJSONByStringForRisk : function(str){
var str = str.replace(/&/g,"','");
str = str.replace(/=/g,"':'");
str = "({'"+str +"'})";
var obj = "";
try {
obj = eval(str); //不安全会执行json串中的表达式
}catch(exception) {
alert(exception);
}
return obj;
},
//通过 json字符串得到JSON对象(单值和多值),有风险 --完善中
getJSONByStringEnhanced : function (str) {
var jsonObj = {};
str = str.replace(/\+/g," "); // g表示对整个字符串中符合条件的都进行替换
var param = str.split("&");
$.each(param,function(name,value){
//alert(name + "----" + value);
});
for ( var i = 0; param != null && i < param.length; i++) {
var parai = param[i].split("=");
for(var j = 1; param != null && j < param.length; j++) {
var paraj = param[j].split("=");
if(parai[1] == paraj[1]) {
jsonObj[parai[0]] = para[1];
}
}
jsonObj[para[0]] = para[1];
}
var temp = JSON.stringify(jsonObj);
var queryParam = JSON.parse(temp);
return queryParam;
}
}