阿贾克斯& php:FormData对象

时间:2016-06-28 17:14:28

标签: php jquery ajax

我试图通过jQuery AJAX向PHP发送一些数据。它只有在我发送这样的数据时才有效:

    type: 'POST',
    dataType: 'json',
   //processData: false,
   //contentType: false,
     url: 'productEdit.php',
     data: {'data_spa':arr, 'id': id, 'table': table_name, 'insert': values}

但每当我尝试发送 FormData()对象时,它就会停止工作。但是,如果我只发送 form_data (取消注释processData和contentType),它就会起作用:

type: 'POST',
dataType: 'json',
processData: false,
contentType: false,
url: 'productEdit.php',
data: form_data

我尝试做的就是将值和form_data作为JSON发送,如下所示:

data: (form_data, {'data_spa':arr, 'id': id, 'table': table_name, 'insert': values})

在PHP中它应该接收如下数据:

$arr = $_POST['data_spa'];
$image_file = $_FILES['file']['name']

顺便说一句,我正在创建FormData对象:

var file_data = $('#imageProduct').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);

我希望你能帮我解决这个问题。

1 个答案:

答案 0 :(得分:2)

var file_data = $('#imageProduct').prop('files')[0];
var form_data = new FormData();
form_data.append('file', file_data);
form_data.append('data_spa':arr);
form_data.append('id': id);
form_data.append('table': table_name);
form_data.append('insert': values);