$.ajax 傳送file型別引數
阿新 • • 發佈:2022-05-17
使用ajax向後臺傳送資料時其中的圖片資料的引數型別為file,屬於物件,而不是一個字串值。導致錯誤的出現
var formData = new FormData();
formData.append("file",$("#dcim1")[0].files[0]);
formData.append("real_name", $("#name").val());
首先看是否由於引數書寫錯誤導致上述問題,如果誤寫成物件請修改相應引數型別。
如果確定要上傳的資料之一就是物件型,那麼請在ajax引數里加入
processData: false
contentType : false
$.ajax({
url : Url,
type : 'POST',
data : formData,
// 告訴jQuery不要去處理髮送的資料
processData : false,
// 告訴jQuery不要去設定Content-Type請求頭
contentType : false,
dataType: "json",
success: function(data) {
..。
}
完成後請重新提交測試。
var form = new FormData(); form.append("Filedata", "要傳的檔案"); $.ajax({ type:"POST", url: top.$.rootUrl + '/ERP/ERP_Material/SaveImg', data: form, dataType: 'json', success: function (res) { if (res.code == 200) { $('#CommodityImages').val(res.data.path); } else { learun.alert.error(res.info); } }, cache: false, //processData //預設情況下會將傳送的資料序列化以適應預設的內容型別application/x-www-form-urlencoded //如果想傳送不想轉換的的資訊的時候需要手動將其設定為false processData: false, //contentType //contentType 主要設定你傳送給伺服器的格式 contentType: false, });