首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >带有序列化和额外数据的jQuery post()

带有序列化和额外数据的jQuery post()
EN

Stack Overflow用户
提问于 2011-07-09 01:10:32
回答 7查看 251.2K关注 0票数 151

我正在尝试找出是否可以发布serialize()和其他表单之外的数据。

下面是我认为可行的方法,但它只发送'wordlist',而不发送表单数据。

代码语言:javascript
复制
$.post("page.php",( $('#myForm').serialize(), { 'wordlist': wordlist }));

有谁有什么想法吗?

EN

回答 7

Stack Overflow用户

发布于 2011-07-09 01:15:58

试试$.param

代码语言:javascript
复制
$.post("page.php",( $('#myForm').serialize()+'&'+$.param({ 'wordlist': wordlist })));
票数 56
EN

Stack Overflow用户

发布于 2015-08-06 12:35:30

另一种解决方案是,如果您需要在ajax文件上传时执行此操作:

代码语言:javascript
复制
var data = new FormData( $('#form')[0] ).append( 'name' , value );

或者更简单。

代码语言:javascript
复制
$('form').on('submit',function(e){

    e.preventDefault();
    var data = new FormData( this ).append('name', value );

    // ... your ajax code here ...

    return false;

});
票数 9
EN

Stack Overflow用户

发布于 2014-11-20 00:18:16

当您想要将javascript对象添加到表单数据时,可以使用以下代码

代码语言: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(),则可以执行以下操作

代码语言:javascript
复制
var data = {name1: 'value1', name2: 'value2'};
var postData = $('#my-form').serializeObject();
$.extend(postData, data);
$.post(url, postData, function(){});
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6627936

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档