gpt4 book ai didi

javascript - 如何向 HTML5 AJAX FormData 对象添加更多数据

转载 作者:行者123 更新时间:2023-12-02 19:30:49 24 4
gpt4 key购买 nike

我正在尝试将 page_idpage_slug 添加到循环中,以便在上传图像时详细信息页面 id 和 slug 会转到。

通常我会使用这个:data: { page_id: page_id, page_slug: page_slug }但是 formData 就在那里..

(function () {
var input = document.getElementById("images"),
formdata = false;
var page_id = $('#page_id').val();
var page_slug = $('#page_slug').val();


function showUploadedItem (source) {
var list = document.getElementById("image-list"),
li = document.createElement("li"),
img = document.createElement("img");
img.src = source;
li.appendChild(img);
list.appendChild(li);
}

if (window.FormData) {
formdata = new FormData();
document.getElementById("btn").style.display = "none";
}

input.addEventListener("change", function (evt) {
document.getElementById("response").innerHTML = "Uploading . . ."
var i = 0, len = this.files.length, img, reader, file;

for ( ; i < len; i++ ) {
file = this.files[i];

if (!!file.type.match(/image.*/)) {
if ( window.FileReader ) {
reader = new FileReader();
reader.onloadend = function (e) {
showUploadedItem(e.target.result, file.fileName);
};
reader.readAsDataURL(file);
}
if (formdata) {
formdata.append("images[]", file);
}
}
}

if (formdata) {
$.ajax({
url: "admin/pages/upload/",
type: "POST",
data: formdata,
processData: false,
contentType: false,
success: function (res) {
document.getElementById("response").innerHTML = res;
}
});
}
}, false);
}());

最佳答案

我认为您不能直接在 $.ajax 中操作 FormData 对象。甚至$.ajaxSetup函数,因此在下面的代码块中添加两个对append的调用应该包含所需的参数。

if (window.FormData) {
formdata = new FormData();
formdata.append('page_id', page_id);
formdata.append('page_slug', page_slug);
document.getElementById("btn").style.display = "none";
}

page_idpage_slug 值是唯一的,因此不需要在循环中附加;创建 FormData 对象后只需一次。

另请参阅Using FormData objects了解更多示例。

关于javascript - 如何向 HTML5 AJAX FormData 对象添加更多数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11522981/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com