使用javascript FormData()发送数据

时间:2014-03-14 16:21:14

标签: javascript php jquery html

我的代码有一个输入标记,并使用jquery FormData()将其发送到我的php文件 现在我想添加另一个输入标签并发送更多数据。 jquery it's:

var files = document.getElementById('data-file').files;
var data = new FormData();

$.each(files, function (keys, values) {
    data.append(keys, values);
});
$.ajax({
    url: 'upload.php',
    type: 'POST',
    data: data,
    cache: false,
    processData: false,
    contentType: false,
});

和html代码是:

<input style="display:none;" type="file" name="data-file" id="data-file" onchange="image_preview(this)" multiple="multiple" />

我希望将html更改为此并使用jquery FormData()将输入数据发送到php文件:

<input style="display:none;" type="file" name="data-file" id="data-file" onchange="image_preview(this)" multiple="multiple" />
<input type="hidden" name="imgpath" id="imgpath" value="<?php echo $imgpath; ?>"  />
<input type="hidden" name="id" id="id" value="<?php echo $id; ?>"  />

1 个答案:

答案 0 :(得分:1)

您可以使用FormData's append方法向FormData添加其他键值,就像在$.each

中一样

例如。

$.each(files, function (keys, values) {
    data.append(keys, values);
});

data.append('imgpath', $('#imgpath').val());
data.append('id', $('#id').val());