jquery.form.js插件fileupload成功回调函数在IE中不起作用

时间:2012-12-28 09:33:04

标签: jquery ajax internet-explorer callback jquery-forms-plugin

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>

1 个答案:

答案 0 :(得分:0)

请参阅this question,其中涉及类似的问题。

您正在使用AJAX上传文件,这可能会导致IE出现问题。请参阅this page of the jquery.form.js documentation,这几乎肯定会解决您的问题。

简而言之,您需要确定浏览器是否正在使用XMLHttpRequest对象,如果不是,请将结果返回到&lt; textarea&gt;并将content-type设置为text / html以防止IE显示“打开/保存”对话框。