Last active
August 29, 2015 14:06
-
-
Save feifanzhou/7966a501703c1b637e95 to your computer and use it in GitHub Desktop.
AJAX Upload Image
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
var uploadImage = function(form, responseHandler, setup, teardown) { | |
var eventHandler, iframe, _this; | |
iframe = document.createElement('iframe'); | |
iframe.setAttribute('name', 'uploadTarget'); | |
iframe.setAttribute('style', 'display: none'); | |
document.body.appendChild(iframe); | |
_this = this; | |
eventHandler = function() { | |
var content; | |
if (iframe.detachEvent) { | |
iframe.detachEvent('onload', eventHandler); | |
} else { | |
iframe.removeEventListener('load', eventHandler, false); | |
} | |
content = ''; | |
if (iframe.contentDocument) { | |
content = iframe.contentDocument.body.innerHTML; | |
} else if (iframe.contentWindow) { | |
content = iframe.contentWindow.body.innerHTML; | |
} else if (iframe.document) { | |
content = iframe.document.body.innerHTML; | |
} | |
if (content.charAt(0) == '{' || content.charAt(0) == '[') | |
content = JSON.parse(content) | |
if(teardown) | |
teardown(); | |
responseHandler(content); | |
return setTimeout((function() { | |
return iframe.parentNode.removeChild(iframe); | |
}), 250); | |
}; | |
if (iframe.addEventListener) { | |
iframe.addEventListener('load', eventHandler, true); | |
} else if (iframe.attachEvent) { | |
iframe.attachEvent('onload', eventHandler); | |
} | |
form.setAttribute('target', 'uploadTarget'); | |
if(setup) | |
setup(); | |
return form.submit(); | |
}; |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment