1. 程式人生 > >js序列化數組用於ajax提交數據

js序列化數組用於ajax提交數據

== object 循環 var 數據 特殊 obj AR ID

但我們要用ajajx提交類似於: array(‘id‘ =>12,data => array(‘a‘=>1,‘b‘=>2)); 這樣的二維數組的數據時,直接ajax提交後臺是接收不到的,需要特殊處理下:
//這裏只能處理二維數組數據,多維的需在做循環或遞歸
function serialize_data(obj){ var str = ‘‘; for(var i in obj){ if(typeof(obj[i]) === ‘object‘){ for(var s in obj[i]){ str = str + i+‘[‘+ s + ‘]‘ + ‘=‘ + obj[i][s] + ‘&‘; } }else{ str = str + i + ‘=‘ + obj[i] + ‘&‘; } } return encodeURI(str); }

  

實際上就是類似於這樣的url請求:

http://192.168.0.63/index,php?id=12&data[a]=1&data[b]=2

用於請求的時候其實可以使用:

var str = URIencode(‘id=12&data[a]=1&data[b]=2‘);

然後將str用POST或者GET的方式發生就可以了

js序列化數組用於ajax提交數據