jQueryAJAX-将额外的键/值对推送到序列化的$_POST数组中

jQuery AJAX - push additional key/value pair into a serialized $_POST array

本文关键字:序列化 数组 POST jQueryAJAX-      更新时间:2023-09-26

在使用jQuery发送AJAX请求之前,是否可以将其他值推送到序列化的$_POST数组中?

这就是场景:

$('#ajax-preview').on('click', function(e) {
    e.preventDefault();
    var formData = $('#advertiser-edit-form').serialize();
    $.ajax({
       type: 'post' ,
       url: 'ajax-action.php',
       data: formData,
       success: function(data, status, jqXHR) {
           console.log(data);
       }           
    });
});

formData是来自具有多个键/值对的页面的序列化$_POST数组。我需要以编程方式添加另一对,即ajax: true

我试图将这个数据集传递给AJAX:

var previewData = {
    formData: $('#advertiser-edit-form').serialize(),
    ajax: true
};

不幸的是,它改变了传递给PHP脚本的数据结构,因此,数据无法按预期进行处理。

$(form).serialize()只返回一个字符串,这样您就可以简单地连接要添加的值。示例:

var formData = $('#advertiser-edit-form').serialize();
// Be sure that formData is not empty, if it's you don't need the "&"
formData += '&foo=bar';

https://api.jquery.com/serialize/