1. 程式人生 > 其它 >$.ajax 傳送file型別引數

$.ajax 傳送file型別引數

使用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, });