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

时间:2015-03-27 16:28:12

标签: javascript php jquery arrays ajax

在使用jQuery发送AJAX请求之前,是否可以将其他值推送到serialazlized $ _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脚本的数据结构,因此无法按预期处理数据。

1 个答案:

答案 0 :(得分:2)

$(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/