|
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 163
|
|||||||||||||||||||||
Подскажите, как прикрутить ajax?25.09.2015, 15:57. Показов 1573. Ответов 15
Метки нет (Все метки)
Здравствуйте. После двухнедельного искания формы с отправкой нескольких файлов на почту без перезагрузки, я её всё таки нашел. Но вот осталась одна проблема, как сюда добавить ajax? Посмотрите пожалуйста на код:
Пока что есть такой код.
P.S. Еще остаётся вопрос, как добавить анимацию загрузки? В какую строчку его засунуть ? Добавлено через 17 часов 36 минут Моя форма рабочая, только я не могу её видоизменить. Jquery ajax подключить не могу, и не могу добавить анимацию загрузки.
0
|
|||||||||||||||||||||
| 25.09.2015, 15:57 | |
|
Ответы с готовыми решениями:
15
AJAX: Как прикрутить счетчик товаров? подскажите с AJAX подскажите пожалуйста jQuery + ajax |
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
||
| 25.09.2015, 16:03 | ||
|
Загружать файлы средствами Ajax, можно с помощью объекта FormData. Вот тут описано, как это можно сделать с помощью метода jQuery $.ajax(), без проблем это же реализуется на чистом JS. Нужно только учитывать, что объект FormData не такой уж кроссбраузерный. К примеру, IE ниже 10-ой версии его не поддерживает.
0
|
||
|
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 163
|
||
| 25.09.2015, 16:26 [ТС] | ||
|
0
|
||
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
||||||
| 25.09.2015, 18:08 | ||||||
|
drkrol, что-то я запутался слегка. Давайте по порядку:
1. Вы используете вариант на чистом JS? Если да, то вопрос о FormData снимается, т.к. он у вас там используется. 2. В консоли ошибки есть? 3. Что приходит ответом на ajax-запрос (посмотреть в той же консоли) 4. Вернуть ответ строкой "ok" можно с помощью echo, но у вас передаются другие данные (строка 42, 44). 5. В php Content-Type, Content-Transfer-Encoding, Content-Disposition - вроде как должны быть в заголовках, а вы их добавляете в тело сообщения. Да и можно не особо мучаясь, использовать библиотеку PHPMailer Добавлено через 1 час 18 минут drkrol, в общем, пока вы в раздумьях, попробуйте изменить php-код на этот:
0
|
||||||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
||||||||||||||||
| 25.09.2015, 18:39 | ||||||||||||||||
|
drkrol, вы привели в начале функцию
Смотрите, объект XMLHttpRequest как раз и занимается реализацией ajax. Он отправляет форму без перезагрузки страницы, а параметр true в строке
То, что вы написали потом - это тоже код, реализующий ajax, только уже с использованием сторонней библиотеки JQuery
Добавлено через 8 минут Тем более, что вторая функция не передает файлы.
0
|
||||||||||||||||
|
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 163
|
|
| 25.09.2015, 19:19 [ТС] | |
|
1. да, но я хочу использовать jquery ajax, потому что я хочу использовать $(".result").toggleClass("dis"); return false; и как то не очень выглядит простой js и jquery вместе, поэтому, я подумал, что ajax jquery лучше. Так хотя бы понятно, где положительный результат, а где отрицательный.
2. Нету. 3. У меня в консоли кроме того, что не найден favicon ничего не написано... 5. Я уже успел намучиться с phpmailer... Так что ajax лучше. наверно... 6. Не совсем понял зачем вы переписали php. хотя он имел не самый лучший вид. у вас всё по полочкам) 7. ajax jquery не отправляет файлы. Я так понимаю, что дело в formData. Если я в data напишу formdata, то не только файлы, но и письма отправляться не будут. Нужно что то написать в data и всё. И форма будет работать. наверно...
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
|
| 25.09.2015, 20:24 | |
|
drkrol, в общем, чувствую, что будем ходить вокруг да около еще долго, поэтому я вам собрал всё вместе, в js два варианта: на чистом JS и jQuery (выберите любой). Всё проверено и работает. Только не забудьте вписать свой email! Данные, которые надо отправлять кроме файлов, допишите к переменной $message.
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
|
| 25.09.2015, 20:25 | |
|
P.S. И не забывайте фильтровать все данные, которые приходят от клиента!!!
0
|
|
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
|
| 25.09.2015, 20:30 | |
|
drkrol,
По 1 - гуглите jquery ajax files тогда. по 2 - Если вы про результат работы, то первая функция (она написана на чистом javascript) тоже выдавала результат успешно ли прошел запрос или нет. По 3 - Я пробовал ваш первый скрипт в совокупности с первой javascript функцией - ответ на ajax-запрос приходит нормально, письма отправлялись. По 5 - php-mailer никак не связан с ajax))) Ajax работает на стороне клиента и занимается обменом информацией с сервером. Php-mailer - это php-шная библиотека для отсылания писем, вам предлагали ее использовать вместо стандартной функции mail() только потому, что по сравнению с mail в php-mailer файл легче прикрепить к письму) По 6 - ну а переписали php потому, что в старом варианте заголовки каким-то образом оказались в теле письма. Вы откуда этот скрипт брали? Добавлено через 3 минуты Lazy_Den, а что фильтровать, то есть, как вы их предложили фильтровать?
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
||
| 25.09.2015, 20:46 | ||
|
0
|
||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
|
| 25.09.2015, 20:50 | |
|
Lazy_Den, понятно, вроде как валидация и проверка переменных.
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
||
| 25.09.2015, 20:54 | ||
|
1
|
||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
|
| 25.09.2015, 21:28 | |
|
Lazy_Den, я функции фильтрации не использовал (хотя бы потому, что не знал о них)), в основном, использовал подход с валидацией на клиенте + проверка на сервере.
К вопросу валидации введенного пользователем email в вашем примере - ведь это никак не влияет на работу скрипта, этот email указывается только как контактная информация. Или вы с расчетом на то, чтобы в будущем можно было добавить его в reply-to?
0
|
|
|
3325 / 2845 / 1423
Регистрация: 15.01.2014
Сообщений: 6,170
|
||
| 25.09.2015, 21:40 | ||
|
b_cat, Если речь идёт только об email и вам безразлично, какой укажет пользователь, т.к. вы его нигде использовать не будете, то можно и забить на валидацию. Валидацию, но не фильтрацию в глубоком понимании этого слова! И тут плавно переходим дальше:
0
|
||
|
33 / 9 / 11
Регистрация: 20.05.2015
Сообщений: 121
|
|
| 25.09.2015, 22:58 | |
|
Lazy_Den, согласен с вами, так я же не говорю, что нет. Поэтому я и использовал проверку данных на сервере, только без использования функций фильтров в php.
Что касается валидации на клиенте - это да, она нужна в основном для того, чтобы пользователь не ошибся, не сделал опечатку, не ввел по ошибке не то, что нужно. Добавлено через 2 минуты А вообще, спасибо, что разъяснили об этих функциях (фильтрации). Добавлено через 14 минут drkrol, у вас заработало решение, которое вам предложил Lazy_Den? Если да, то можно добавить индикатор отправления письма.
0
|
|
|
1 / 1 / 0
Регистрация: 19.08.2013
Сообщений: 163
|
|
| 26.09.2015, 23:00 [ТС] | |
|
Да. Благодарю! Всё работает как часы. Я сразу не ответил, потому что хотел под свои нужны допилить, а потом уже отчитаться о результате. Но у меня каждую минуту появляются новые проблемы с кодом. Сейчас вот, по своей неосторожности потерял свой js и php который относился к nouislider. Удалил... Теперь смотрю на код и вспомнить не могу, как же оно работало? От nouislider не уходят значения на почту. Пытаюсь заново всё собрать. Если вдруг вы знаете как можно отправить переменные со span, но без input hidden, посмотрите эту тему Как отправить переменную nouislider на почту не прибегая к input hidden? ... Еще раз спасибо вам!
0
|
|
| 26.09.2015, 23:00 | |
|
Помогаю со студенческими работами здесь
16
Ajax подгрузка контента подскажите Ребята подскажите какую Ajax библиотеку лучше выбрать? Как тут прикрутить settimeout? Как прикрутить cookies к меню на jQuery Подскажите как прикрутить переменную? Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога
Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога
Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
|
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога
Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
|
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
|
|
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога
Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
|
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога
Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
|
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога
Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
|
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
|