天天看點

ajax中字元串拼接注意事項,jquery拼接ajax 的json和字元串拼接的方法

整理文檔,搜刮出一個jquery拼接ajax 的json和字元串拼接的代碼,稍微整理精簡一下做下分享。

jquery拼接字元串ajax

(function($){

$.fn.serializejson=function(){

var serializeobj={};

$(this.serializearray()).each(function(){

serializeobj[this.name]=this.value;

});

return serializeobj;

};

$('#myform').bind('submit',function(e){

console.log($(this).serializejson())

})

})(jquery)

或者直接用$(“#表單id”).serialize()直接序列化。。。

上面的插件,不能适用于有多個值的輸入控件,例如複選框、多選的select。下面,我将插件做進一步的修改,讓其支援多選。代碼如下:

js代碼

(function($){

$.fn.serializejson=function(){

var serializeobj={};

var array=this.serializearray();

var str=this.serialize();

$(array).each(function(){

if(serializeobj[this.name]){

if($.isarray(serializeobj[this.name])){

serializeobj[this.name].push(this.value);

}else{

serializeobj[this.name]=[serializeobj[this.name],this.value];

}

}else{

serializeobj[this.name]=this.value;

}

});

return serializeobj;

};

})(jquery);

這裡,我将多選的值封裝為一個數值來進行處理。如果大家使用的時候需要将多選的值封裝為“,”連接配接的字元串或者其他形式,請自行修改相應代碼。

測試如下:

表單:

html代碼

interest1

interest2

interest3

interest4

i have a bike

i have a car

測試結果:

{age: “aa”,interest: ["interest2", "interest4"],name: “dd”,vehicle:["bike","car"]}

tijiao