[英]How I fixed: Can't upload images using formData (Browser Compatibilty)
不能在iOS上使用FormData,但可以在包括Safari在內的所有桌面瀏覽器中使用。
$("#form").on('submit', function(e){ let formData = new FormData(this); sendwithAjax(formData); });
由於以下原因,我在FormData上遇到了幾個問題:
$("#form").on('submit', function(e){ let formData = new FormData(this); sendwithAjax(formData); });
大多數瀏覽器都支持此功能。 變量“ this”或“ e.currentTarget”對應於包含所有輸入的表格。 因此,我們只是執行表單的formData。
好吧,當談到移動設備iOS時,更具體的情況並不順利。 XHR請求剛剛崩潰。
這是我固定的方法:
var formData = new FormData(); for (var i = 0; i < form.length; i++) { var element = form[i]; if(element.type === "file" && element.files.length > 0){ formData.append(element.name, element.files[0], element.files[0].name); } else if(element.type === "checkbox" && element.checked){ formData.append(element.name, element.value); } else if(element.type !== "checkbox"){ formData.append(element.name, element.value); } } sendWithAjax(formData)
問題出在FormData實例中的“表單”,所以我手動放置了表單的每個元素,然后它起作用了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.