jQuery-File-Upload not firing done callback in Internet Explorer (IE9)

后端 未结 2 1621
甜味超标
甜味超标 2021-01-12 09:04

i checked some questions regarding the same issue, blueimp jquery file upload - "done", "complete" callbacks not working for IE 9 , but even after puttin

相关标签:
2条回答
  • 2021-01-12 09:22

    ok so i go it working.The problem was that in the fileuploader configuration i had

    dataType: 'json'
    

    but since IE9 uses the iframe it makes a html request, and the response has the Content-Type 'text/html'. With that configuration the fileuploader is expecting to receive a json response so my response was going to a fail callback i made just for testing. Got it working by looking at this post jQuery FileUpload doesn't trigger 'done'

    0 讨论(0)
  • 2021-01-12 09:45

    The most voted answer isn't the best solution and can throw errors. Actually, setting dataType isn't recommended for IE < 10, from this (awesome) article:

    When the dataType option is set to text, json, html, or script, the iframe transport performs some processing of the response. Because it is operating on a DOM object obtained from the iframe it uses, however, and not the raw HTTP response data, there is the potential for some surprises to pop up.

    http://missioncriticallabs.com/blog/2012/04/lessons-learned-from-jquery-file-upload/

    Real solution:

    The "thing" about not firing in IE < 10 isn't related with dataType, is just the lack of callback add that forces the file push in fileupload event.

    $('#file_file').fileupload({
        add: function (e, data) {
            data.submit(); //this will 'force' the submit in IE < 10
        },
        done: function (e, data) {
            alert('Done');
        }
    });
    
    0 讨论(0)
提交回复
热议问题