jquery serialize()+自定义?

taz*_*nix 2 jquery serialization

在jquery中使用$ .POST和$ .GET时,有没有办法将自定义变量添加到URL并发送它们?我尝试了以下方法:

$.ajax({type:"POST", url:"file.php?CustomVar=data", data:$("#form").serialize()});
Run Code Online (Sandbox Code Playgroud)

而且:

<input name="CustomVar" type="hidden" value="data" />
$.ajax({type:"POST", url:"file.php", data:$("#form").serialize()});
Run Code Online (Sandbox Code Playgroud)

第一个问题是它将自定义发送为get但我希望将其作为post发送.第二个,我现在正在使用它,但没有更好的方法?

Nic*_*ver 8

在内部,.serialize()做一个$.param()on,.serializeArray()所以你可以自己添加你想要的任何内容,如下所示:

var obj = $("#form").serializeArray();
obj.CustomVar = 'someValue';
$.ajax({ type:"POST", url:"file.php", data:$.param(obj) });
Run Code Online (Sandbox Code Playgroud)