【问题标题】:Sending serialized form as a parameter and adding more parameters发送序列化表单作为参数并添加更多参数
【发布时间】:2019-07-22 05:26:23
【问题描述】:

我有一个名为 createLandOwner 的函数,它应该发送一个带有 "action=read" 的 Ajax 请求和一个序列化表单作为数据。序列化的表单作为不同表单上的事件处理程序的参数提供。

如何在createLandOwner函数中将"action=read"和序列化的表单合并为post数据?

我下面的解决方案导致“未捕获的类型错误:data.push 不是函数”,因为数据是字符串,而不是数组。

表单上的事件处理程序

$("#createLandOwnerForm").on( "submit", function( event ) {
event.preventDefault();

createLandOwner($(this).serialize(), appendCreatedLandOwnerToSelect, appendCreatedLandOwnerToSelect_Error);

});

函数 createLandOwner 发送 Ajax 请求

function createLandOwner(landOwner, onSuccess, onError) {

var data = landOwner;

data.push({action: 'create'});

  $.ajax({
    type: "post",
    url: host + 'LandOwners.php',
    data: data,
    success: onSuccess,
    error: onError
  });

}

【问题讨论】:

    标签: jquery ajax post serialization parameters


    【解决方案1】:

    landOwner 是一个 uri 编码的字符串...不是一个数组。

    您可以简单地在该字符串的末尾添加另一个参数

    var data = landOwner + '&action=read';
    

    【讨论】:

    • 噢!我实际上试图连接字符串,但我发现我忘了在开头放一个“&”。谢谢!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-22
    • 1970-01-01
    • 1970-01-01
    • 2015-12-01
    • 2021-03-30
    • 2012-09-25
    相关资源
    最近更新 更多