Ну это немного не то здесь требуется в коде вызывать функцию ajaxForm и нет загрузки файлов.
Суть данной статьи чтобы не писать js код вообще (или только в исключительных случаях), а только с сервера отправлять нужные ответы.
да это работает, т.е. так я должен подписаться на клик по элементу и вызвать функцию $(«form»).ajaxForm(); и она отправится.
В моём случае не надо подписываться, отправляешь ты формы, либо ты кликаешь на элементе, загружаешь файлы.
Я не уверен, но по моему ajaxForm не делает кросдоменные запросы
Неплохой скрипт, форму отправляет.
Я предоставил своё виденье, постарался собрать все варианты, которые могли бы сократить код, где помимо ассинхронной отправки формы, есть отправка при клике на элемент, загрузка файлов при клике на кнопку.
И показал что можно сократить код, если правильно отсылать данные с сервера.
Метод, конечно интересный и имеет право на жизнь, но не сочтите за занудство, атрибуты «dropfile, jasync» выглядят как-то не по феншую.
Кажется будет правильнее использовать «data-dropfile, data-jasync». Поправьте, если я ошибаюсь.
Я на самом деле думал как назвать и изначально назвал атрибут async, потом думал назвать data-async, ещё думал название поместить в глобальную переменную.
Но я остановился на jasync, хоть это и не валидно.
Если скрипт будет полезен, то перенесу название в глобальную переменную, чтобы ни у кого не возникали вопросы.
А мне идея понравилась, я обеими руками за декларативность там, где это возможно.
Но вот реализация…
Взять хотя бы имена событий с точкой, что противоречит идеолгоии событий в jQ — там точки призваны отделять event name от namespaces, а у вас obj.trigger( 'jasync.uploadProgress', ...) — не по феншую — лучше было б дефисы использовать тогда.
И довольно странно смотрятся рядом нативное создание XMLHttpRequest и вот это $( '<div></div>' ).
Я это к чему, выложите на GitHub, организуйте приём пулреквестов и, возможно, выйдет довольно хорошая библиотека как по идее, так и по реализации.
Как сократить количество написаного кода при ajax запросах? И ассинхронная отправка файлов