jquery序列化serialize()方法时中文乱码及解决办法

乱码

  1. 原因:.serialize()自动调用了encodeURIComponent方法将数据编码了
  2. 解决方法:调用decodeURIComponent(XXX,true);将数据解码
  3. 例如:var params = jQuery("#formId").serialize(); // http request parameters. 5 params = decodeURIComponent(params,true);

示例

  let str1 = $("#form1").serialize()
   str1 = decodeURIComponent(str1,true);  
  console.log("query_", str1 )

jquery遍历数组的方式

1,for循环:

var arr = new Array(13.5,3,4,5,6);
for(var i=0;i<arr.length;i++){
 arr[i] = arr[i]/2.0;
}

2,for,in循环:

var x
var mycars = new Array()
mycars[0] = "Saab"
mycars[1] = "Volvo"
mycars[2] = "BMW"

for (x in mycars)
{
document.write(mycars[x] + "<br />")
}

3,each遍历一维数组:

var arr=new Array();
arr=["aaa","bbb","ccc"];
$.each(arr,function(index,value){
     alert(i+"..."+value);
});

4,each遍历二维数组:

$(function () {
    $.each([["aaa", "bbb", "ccc"], ["ddd", "eee", "fff"], ["ggg", "hhh", "iii"]], function (index, item) {
      alert(index + "..." + item);
         //输出0...aaa,bbb,ccc  1...ddd,eee,fff  2...ggg,hhh,iii   这时的index为数组下标,item相当于取这二维数组中的每一个数组
         $.each(item, function (index, itemobj) {
              alert(index + "....." + itemobj);
         });
    });
     //输出0...aaa,bbb,ccc  0...aaa 1...bbb 2...cccc  1...ddd,eee,fff  0...ddd 1...eee 2...fff  2...ggg,hhh,iii 0...ggg 1...hhh 2...iii
 });