【问题标题】:post json + form data in single ajax call在单个 ajax 调用中发布 json + 表单数据
【发布时间】:2014-04-08 00:22:08
【问题描述】:

我有一个 json 和表单数据要在 ajax 后调用中发送,我如何将两者结合起来:

类似

data : $("#my-form").serialize() + $({ pkeys: ckeys, page: cpage }).serialize()

$.ajax({
    type: "POST",
    url: base_url + "pkey/action/edit",
    data: $("#my-form").serialize() + {
        pkeys: ckeys,
        page: cpage
    } //get this right
}).done(function (data) {
    alert("success");

});

【问题讨论】:

  • 您在寻找什么样的结果? .serialize() 函数以 URL 编码形式返回表单,而不是数组。
  • @MikeShi 结果类似于 abc=def&ghi=jki
  • @hjpotter92 我没有多个表单,而是一个表单和一些 json 数据
  • 是否只添加+'&pkeys='+ckeys+'&page='+cpage; 而不是$({ pkeys: ckeys, page: cpage }).serialize() 不起作用?

标签: javascript jquery ajax json post


【解决方案1】:

$.param 完全符合您的要求。

$("#my-form").serialize() + '&' +
$.param({
    pkeys: ckeys,
    page: cpage
})

通过jquery docs查看更多示例。

【讨论】:

  • 谢谢!正是我想要的
【解决方案2】:

添加 +'&pkeys='+ckeys+'&page='+cpage; 而不是 $({ pkeys: ckeys, page: cpage }).serialize() 有效。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-17
    • 1970-01-01
    相关资源
    最近更新 更多