我正在尝试找出是否可以发布serialize()
和其他表单之外的数据。
下面是我认为可行的方法,但它只发送'wordlist'
,而不发送表单数据。
$.post("page.php",( $('#myForm').serialize(), { 'wordlist': wordlist }));
有谁有什么想法吗?
发布于 2011-07-09 01:15:58
试试$.param
$.post("page.php",( $('#myForm').serialize()+'&'+$.param({ 'wordlist': wordlist })));
发布于 2015-08-06 12:35:30
另一种解决方案是,如果您需要在ajax文件上传时执行此操作:
var data = new FormData( $('#form')[0] ).append( 'name' , value );
或者更简单。
$('form').on('submit',function(e){
e.preventDefault();
var data = new FormData( this ).append('name', value );
// ... your ajax code here ...
return false;
});
发布于 2014-11-20 00:18:16
当您想要将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(){});
或者,如果添加了方法serializeObject(),则可以执行以下操作
var data = {name1: 'value1', name2: 'value2'};
var postData = $('#my-form').serializeObject();
$.extend(postData, data);
$.post(url, postData, function(){});
https://stackoverflow.com/questions/6627936
复制相似问题