2 回答

TA貢獻1829條經驗 獲得超7個贊
您可以傳遞類似于以下代碼的數據。
$("#form0").submit(function (event) {
var dataString;
event.preventDefault();
event.stopImmediatePropagation();
var action = $("#form0").attr("action");
if ($("#form0").attr("enctype") == "multipart/form-data") {
dataString = new FormData($("#form0").get(0));
contentType = false;
processData = false;
} else {
// regular form, do your own thing if you need it
}
$.ajax({
type: "POST",
url: action,
data: dataString,
dataType: "json",
contentType: contentType,
processData: processData,
success: function (data) {
},
error: function (jqXHR, textStatus, errorThrown) {
}
});
});

TA貢獻1865條經驗 獲得超7個贊
您必須使用FormData API在請求中傳遞表單內容。您可以在點擊處理程序中像這樣收集它
const form = $(this).closest('form').get(0)
const data = new FormData(form)
然后將以下內容傳遞給ajax調用
data: data,
processData: false,
contentType: false
代替
data: {
? ? enctype: 'multipart/form-data'
},
processData: false使 jquery 將未經修改的 FormData 實例傳遞給 XHR,這是文件上傳正常工作所必需的。contentType: false將使瀏覽器multipart/form-data自動設置內容類型。
FormData 現在可以在較舊的瀏覽器中運行,特別是 IE<10。
- 2 回答
- 0 關注
- 112 瀏覽
添加回答
舉報