我正在使用load()方法来POST表单并同时加载响应。像这样:
$("#contentdiv").load('upload/', $('#uploadform').serializeArray());
响应可以是来自某些child-html页面中呈现的数据库的实例。它可以是具有错误的相同形式。这就是为什么真的想继续使用load()。它可以顺利处理内置表单错误,CSRF令牌等。
当一个字段是文件/图像字段时,问题是POST。它不起作用。
当表单有文件字段时,是否可以加载()+ POST表单?也许与“ajaxSubmit”相结合?
谢谢大家!
答案 0 :(得分:0)
你必须知道jQuery没有提交input=file
你需要使用隐藏的iframe提交表单,这是那个例子
将此attribute
添加到您的表单target="uploadframe"
<script type="text/javascript">
$(function() {
//append hidden iframe
$('body').append('<iframe id="uploadframe" name="uploadframe" style="display:none" />');
//on form submit
$('#bb-upload-form').submit(function(){
//add form action url
$(this).attr('action', 'upload/');
//add form target
$(this).attr('target', 'uploadframe');
//load response from server submited file
iframe = $('#uploadframe').load(function () {
//get response
response = iframe.contents().find('body');
alert(response);
});
});
});
</script>