I’m using jQuery file upload plugin.
I don’t use the UI part, only basic one.
When I do the following, I’m having an issue in IE:
$('input#fileupload').fileupload({
url: '/upload',
done: function (e, data) {
if(data.result != null && $.trim(data.result) != '')
$('a#attachment').html(data.result);
}
//......................
on IE the data.result is an Object (IE9 at least, not sure the others…)
On Chrome/Firefox is just the response Text (simple plain text from the server).
Ideas?
I just ran into the same problem, and I think it is due to the fact that XHR file uploads are not supported in IE (even 9). Here’s what I believe is happening, and my solution:
Since Safari 5+, Firefox 4+, and Chrome support XHR file uploads, the fileupload plugin can transfer the files truly asynchronously, allowing for a pure text response from the server. This pure text response is available via
data.resultin thedoneevent handler, and can be used easily.In IE, however, the file transfer occurs via a full page refresh in a hidden iframe, causing
data.resultin thedonehandler to be a fulldocumentobject, with the response text wrapped deep inside<html><body><iframe><pre>tags.Not only does this make it a pain to get to the data in IE, it makes the way you get to the data different between browsers.
My solution:
I set the
forceIframeTransportoption to true, which makes all browsers transfer files with a hidden iframe, like IE. It’s unfortunate to miss out on XHR file uploads, but this at least gives us the same kind of response in all browsers. Then, in mydonehandler, I extracted the result from thedocumentobject like so:In your case, I think the code would look something like this:
Also important to note here is that the Content Type of the response from my server is ‘text/plain’. As you may have noticed, IE sometimes prompts the user to save or open a json response.
Here are a couple links that proved useful when resolving the problem:
https://github.com/blueimp/jQuery-File-Upload/wiki/Browser-support (see ‘XMLHttpRequest’ section at bottom)
https://github.com/blueimp/jQuery-File-Upload/wiki/Options (see ‘forceIframeTransport’ about 1/3 of the way down)
Hopefully this helps!