Php AJAX-传递整个表单+;表单外的一个或多个数据

Php AJAX-传递整个表单+;表单外的一个或多个数据,php,jquery,ajax,forms,Php,Jquery,Ajax,Forms,我知道如何将整个表单传递给AJAX data: $(this).serialize() 但是,我不知道如何将表单+值传递到表单之外 例: 这是可行的,但是表单会变成查询字符串而不是数组 Array ( [form] => fullname=&contactnum=&email=&source= ) 应该是这样的: Array ( [fullname] => [contactnum] => [email] => [source] => )

我知道如何将整个表单传递给AJAX

data: $(this).serialize()
但是,我不知道如何将表单+值传递到表单之外

例:

这是可行的,但是表单会变成查询字符串而不是数组

Array ( [form] => fullname=&contactnum=&email=&source= )
应该是这样的:

Array ( [fullname] => [contactnum] => [email] => [source] => )

有人帮我做这个吗?谢谢。

如您所见-
serialize()
返回简单字符串,这就是为什么您可以将其与所需值连接起来:

data: $(this).serialize() + "&id=" + id + "&uniq=" + uniq,
<input type="hidden" name="id" value="your value" />
<input type="hidden" name="uniq" value="your other value" />
另一种解决方案是使用所需的值在表单上创建隐藏输入:

data: $(this).serialize() + "&id=" + id + "&uniq=" + uniq,
<input type="hidden" name="id" value="your value" />
<input type="hidden" name="uniq" value="your other value" />


然后它们也将被
序列化
d,而不做任何其他操作。

如您所见-
serialize()
返回简单字符串,这就是为什么您可以将其与所需值连接起来:

data: $(this).serialize() + "&id=" + id + "&uniq=" + uniq,
<input type="hidden" name="id" value="your value" />
<input type="hidden" name="uniq" value="your other value" />
另一种解决方案是使用所需的值在表单上创建隐藏输入:

data: $(this).serialize() + "&id=" + id + "&uniq=" + uniq,
<input type="hidden" name="id" value="your value" />
<input type="hidden" name="uniq" value="your other value" />


然后,它们也将被
序列化
d,而不做任何其他事情。

您可以使用多种方法获得解决方案。 Serialize返回字符串,以便可以作为

data: $(this).serialize() + "&id=" + id + "&uniq=" + uniq,
在ajax中,您可以独立于数据传递值,如下所示:

    var id = $('[name="formid"]').attr("id");
var uniq = $('[name="formid"]').data('uniquecode');
    $.ajax({
       url:'',
       data : {
         data : data,
         id : id,
         uniq : uniq,
       },
    });
您可以将隐藏字段用作

<input type="hidden" name="id" value="your value" />
<input type="hidden" name="uniq" value="your other value" />

您可以使用

在php后端获取数组。您可以使用多种方法获取解决方案。 Serialize返回字符串,以便可以作为

data: $(this).serialize() + "&id=" + id + "&uniq=" + uniq,
在ajax中,您可以独立于数据传递值,如下所示:

    var id = $('[name="formid"]').attr("id");
var uniq = $('[name="formid"]').data('uniquecode');
    $.ajax({
       url:'',
       data : {
         data : data,
         id : id,
         uniq : uniq,
       },
    });
您可以将隐藏字段用作

<input type="hidden" name="id" value="your value" />
<input type="hidden" name="uniq" value="your other value" />

您可以在php的后端使用获取数组
FormData
对象就是为这种目的而设计的-可以直接分配一个表单并在通过ajaxIndeed发送之前附加您想要的任何项目。当我有需要附加到表格中的文档时,它非常有用。但是我没有尝试在传递多个数据时使用它。
FormData
对象就是为这种目的而设计的-可以直接分配一个表单,并在通过ajaxIndeed发送之前附加您想要的任何项目。当我有需要附加到表格中的文档时,它非常有用。但是我没有尝试在传递多个数据时使用它。我喜欢
parse\u str
函数。这对我很管用。虽然它在我的代码中至少增加了2行,但谁在乎呢?哈哈哈。谢谢很高兴听到这个消息:)我喜欢
parse\u str
函数。这对我很管用。虽然它在我的代码中至少增加了2行,但谁在乎呢?哈哈哈。谢谢很高兴听到这个消息:)我也觉得这很有帮助。我可以把两个答案都标为接受。哈哈哈。无论如何,我接受这个答案。我也觉得这很有帮助。我可以把两个答案都标为接受。哈哈哈。无论如何,我接受这个答案。