Я хочу использовать XMLHttpRequest в JavaScript для POST формы, которая включает элемент ввода типа файла, чтобы я мог избежать обновления страницы и получить полезный XML обратно.
Я могу отправить форму без обновления страницы, используя JavaScript для установки целевого атрибута формы в iframe для MSIE или объект для Mozilla, но у этого есть две проблемы. Незначительная проблема заключается в том, что цель не соответствует W3C (поэтому я установил ее в JavaScript, а не в XHTML). Основная проблема заключается в том, что событие onload не срабатывает, по крайней мере, не в Mozilla на OS X Leopard. Кроме того, XMLHttpRequest улучшит код ответа, поскольку возвращаемые данные могут быть в формате XML, а не ограничиваться XHTML, как в случае с iframe.
Отправка формы приводит к HTTP, который выглядит так:
Content-Type: multipart/form-data;boundary=<boundary string>
Content-Length: <length>
--<boundary string>
Content-Disposition: form-data, name="<input element name>"
<input element value>
--<boundary string>
Content-Disposition: form-data, name=<input element name>"; filename="<input element value>"
Content-Type: application/octet-stream
<element body>
Как заставить метод отправки объекта XMLHttpRequest дублировать вышеуказанный поток HTTP?