Question
Can I use the following jQuery code to perform file upload using POST method of an ajax request ?
$.ajax({
type: "POST",
timeout: 50000,
url: url,
data: dataString,
success: function (data) {
alert('success');
return false;
}
});
If it is possible, do I need to fill data
part? Is it the correct way? I
only POST the file to the server side.
I have been googling around, but what I found was a plugin while in my plan I do not want to use it. At least for the moment.
Answer
File upload is ~~not~~ possible through AJAX.
You can upload file, without refreshing page by using IFrame
.
You can check further details [here](http://www.ajaxf1.com/tutorial/ajax-file-
upload-tutorial.html).
UPDATE
With XHR2, File upload through AJAX is supported. E.g. through
[FormData
](https://developer.mozilla.org/en-
US/docs/Web/Guide/Using_FormData_Objects) object, but unfortunately it is not
supported by all/old browsers.
FormData
support starts from following desktop browsers versions.
- IE 10+
- Firefox 4.0+
- Chrome 7+
- Safari 5+
- Opera 12+
For more detail, see [MDN link](https://developer.mozilla.org/en- US/docs/XMLHttpRequest/FormData).