Блог за уеб разработка

Невъзможно е да се качи файл на сървъра с помощта на технологията ajax, поради простата причина, че класическият начин за асинхронно изпращане на данни към сървъра е изпращането на данни с помощта на обекта XmlHttpRequest. От съображения за сигурност този обект не поддържа прехвърляне на файлове към сървъра. Колкото и тъжно да звучи, в момента няма директно качване на файлове от Ajax на сървъра. Въпреки това, както и навсякъде, има малки трикове и сега ще говорим за един от тях.

За да заредим файла на страницата без презареждане, можем да използваме HTML iframe тагове. С прости думи, ние поставяме обикновен кадър на страницата и ако сте за формата, където се намира полето за качване на файл, ние задаваме името на атрибута target = атрибут. По този начин формулярът вече няма да се изпраща през текущата страница, а чрез добавената на страницата рамка. Остава да направим рамката невидима (style = "display: none"), като по този начин само самата форма за качване на файл ще бъде поставена на самата страница.

Създайте страница form.html, поставете рамка и формуляр върху нея: