我用jQuery以下AJAX功能發送文件:JQuery的AJAX不是形式
var formData = $('#FonykerEditForm').serialize();
$.ajax ({
type: 'POST',
url: '<?php echo $html->url('/fonykers/edit',true); ?>',
data: formData,
dataType: 'json',
success: function(response) {
message.html(response.msg);
message.fadeIn();
if(!response.ok) {
message.removeClass('success');
message.addClass('error');
} else {
message.removeClass('error');
message.addClass('success');
username = $('#FonykerUsername').val();
email = $('#FonykerEmail').val();
}
$('#save-account-button').removeAttr('disabled');
$('.input-text').removeClass('ok');
$('.input-combo').removeClass('ok');
},
error: function (xhr, ajaxOptions, thrownError){
alert(xhr.statusText);
alert(thrownError);
$('#save-account-button').removeAttr('disabled');
}
});
我遇到的問題是,在我的形式的文件類型字段沒有得到連同其餘提交表單的數據,如何將文件包含在ajax請求的數據中?
文件無法使用AJAX這種方式發送。使用其中的一個jquery插件來做上傳。 – HyderA
如果您真的想通過ajax發送文件,請使用HTML5 –
您可以將表單的目標設置爲隱藏的iFrame,然後監聽隱藏的iframe的加載事件以查看它何時返回。然後,您可以從iframe正文獲取內容作爲響應。 –