我用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正文获取内容作为响应。 –