如何使用jquery序列化進(jìn)行文件上傳所以我有一個表單,我使用jquery序列化函數(shù)通過ajax提交表單 serialized = $(Forms).serialize();
$.ajax({
type : "POST",
cache : false,
url : "blah",
data : serialized,
success: function(data) {
}但是如果表單有一個<input type="file">字段怎么辦....如何使用這個ajax序列化方法將文件傳遞給表單...打印$ _FILES不輸出任何內(nèi)容
3 回答

白衣非少年
TA貢獻(xiàn)1155條經(jīng)驗(yàn) 獲得超0個贊
無法使用AJAX上傳文件,因?yàn)槟鸁o法訪問存儲在客戶端計算機(jī)上的文件的內(nèi)容,并使用javascript將其發(fā)送到請求中。實(shí)現(xiàn)此目的的技巧之一是使用隱藏的iframe。有一個很好的jquery表單插件,允許您AJAXify您的表單,它也支持文件上傳。因此,使用此插件,您的代碼將如下所示:
$(function() { $('#ifoftheform').ajaxForm(function(result) { alert('the form was successfully processed'); });});
該插件自動負(fù)責(zé)訂閱submit
表單事件,取消默認(rèn)提交,序列化值,使用正確的方法和處理文件上載字段,...

守候你守候我
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個贊
它適用于任何類型的表單
$(document).on("submit", "form", function(event){ event.preventDefault(); var url=$(this).attr("action"); $.ajax({ url: url, type: $(this).attr("method"), dataType: "JSON", data: new FormData(this), processData: false, contentType: false, success: function (data, status) { }, error: function (xhr, desc, err) { } }); });
- 3 回答
- 0 關(guān)注
- 612 瀏覽
添加回答
舉報
0/150
提交
取消