簡體   English   中英

我如何修復:無法使用formData上傳圖像(瀏覽器兼容性)

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM