jquery.form.js插件fileupload成功回调函数在IE中不起作用。
fileupload成功回调在chrome,firefox,safari中工作。
我不知道为什么“SUCCESS回调函数”在IE中不起作用(IE9,IE8,IE7也是..)
这是我的代码< jQuery Form Plugin *版本:3.23(11-DEC-2012)>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<script type="text/javascript" charset="utf-8" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
<script type="text/javascript">
function func_beforeSubmit() {
}
function func_success(data) {
alert(data);
}
function func_complete(xhr) {
alert(xhr.responseText);
}
jQuery(document).ready(function() {
var options = {
clearForm : true, // clear all form fields after successful submit
resetForm : true, // reset the form after successful submit
url : "url <-- just return text string",
type : 'post',
dataType : 'text',
beforeSubmit : func_beforeSubmit,
success : func_success,
complete : func_complete
};
jQuery('#btn_file_upload_ajax').change(function() { jQuery('#frm_upload_ajax').submit(); });
jQuery('#frm_upload_ajax').ajaxForm(options);
});
</script>
</head>
<body>
<form id="frm_upload_ajax" method="post" enctype="multipart/form-data">
<input type="file" name="attach_imgfile_ajax" id="btn_file_upload_ajax" ><br>
<input type="hidden" id="data" name="data"/>
</form>
<hr><br>
<div id="image_upload_preview"></div>
</body>
答案 0 :(得分:0)
请参阅this question,其中涉及类似的问题。
您正在使用AJAX上传文件,这可能会导致IE出现问题。请参阅this page of the jquery.form.js documentation,这几乎肯定会解决您的问题。
简而言之,您需要确定浏览器是否正在使用XMLHttpRequest对象,如果不是,请将结果返回到&lt; textarea&gt;并将content-type设置为text / html以防止IE显示“打开/保存”对话框。