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

慕慕森
TA貢獻1856條經(jīng)驗 獲得超17個贊
它適用于任何類型的表單
$(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)注
- 426 瀏覽
添加回答
舉報
0/150
提交
取消