在一个jQuery ajax请求中混合stringify和serializeArray

时间:2017-01-10 21:56:59

标签: jquery ajax serialization stringify

我正在尝试使用jQuery发送一个具有已序列化的普通表单数据的ajax请求。我还需要发送一个字符串化的数据数组以及序列化数据。我的问题是当我发出ajax请求时如何将两者结合起来。

目前,通过下面的脚本,我可以发送jsonString变量并在PHP中使用$_POST['data'];将其取出。如何将formData变量添加到该变量,以便我可以在PHP POST中获取每个表单元素?

var jsonString = JSON.stringify(selection);  //selection is an array of values
var formData = JSON.stringify($("#formFields").serializeArray());
    $.ajax({
        type: "POST",
        url: "processor.php",
        data: {data : jsonString},
      //data: {data : jsonString, formData},  was thinking this but does not work
        cache: false,

        success: function(data){
            console.log(data);
        }
    });

1 个答案:

答案 0 :(得分:1)

这个怎么样?

var selection = [];
selection[0] = "property_value";
var jsonString = JSON.stringify(selection);  //selection is an array of values
var formArray = $("#formFields").serializeArray();
formArray.push({name: 'selection', value: jsonString});
var formData = JSON.stringify(formArray);
alert (formData);