Vit*_*kov 143 javascript jquery
好的,所以我试图找出是否可以发布序列化()和表单之外的其他数据.
这是我的工作,但它只发送'wordlist'而不是表单数据.
$.post("page.php",( $('#myForm').serialize(), { 'wordlist': wordlist }));
Run Code Online (Sandbox Code Playgroud)
有人有主意吗?
Fel*_*ing 318
您可以使用serializeArray [docs]并添加其他数据:
var data = $('#myForm').serializeArray();
data.push({name: 'wordlist', value: wordlist});
$.post("page.php", data);
Run Code Online (Sandbox Code Playgroud)
Mic*_*ior 53
试试$ .param
$.post("page.php",( $('#myForm').serialize()+'&'+$.param({ 'wordlist': wordlist })));
Run Code Online (Sandbox Code Playgroud)
另一种解决方案,如果您需要在ajax文件上传中执行此操作:
var data = new FormData( $('#form')[0] ).append( 'name' , value );
Run Code Online (Sandbox Code Playgroud)
或者甚至更简单.
$('form').on('submit',function(e){
e.preventDefault();
var data = new FormData( this ).append('name', value );
// ... your ajax code here ...
return false;
});
Run Code Online (Sandbox Code Playgroud)
当你想在表单数据中添加一个javascript对象时,可以使用下面的代码
var data = {name1: 'value1', name2: 'value2'};
var postData = $('#my-form').serializeArray();
for (var key in data) {
if (data.hasOwnProperty(key)) {
postData.push({name:key, value:data[key]});
}
}
$.post(url, postData, function(){});
Run Code Online (Sandbox Code Playgroud)
或者,如果您添加方法serializeObject(),您可以执行以下操作
var data = {name1: 'value1', name2: 'value2'};
var postData = $('#my-form').serializeObject();
$.extend(postData, data);
$.post(url, postData, function(){});
Run Code Online (Sandbox Code Playgroud)
在新版本的jquery中,可以通过以下步骤完成:
serializeArray()push()或类似的方法向数组添加额外的参数,$.param(arr)获取序列化字符串,该字符串可以用作 jquery ajax 的data参数。示例代码:
var paramArr = $("#loginForm").serializeArray();
paramArr.push( {name:'size', value:7} );
$.post("rest/account/login", $.param(paramArr), function(result) {
// ...
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
220622 次 |
| 最近记录: |