Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: Отправка файлов ajax+php
Форумы портала PHP.SU » » HTTP и PHP » Отправка файлов ajax+php

Страниц (1): [1]
 

1. horprogs - 11 Сентября, 2015 - 20:01:58 - перейти к сообщению
Всем привет.
Реализовал отправку файлов через phpmailer. Все работает. Хотел сделать это без перезагрузки страницы. Узнал, что для отправки файлов нужно использовать FormData. Замечательно. Нашел статью как все настроить, но не работает! Можно сказать все точь-в-точь как в примере, только у меня все равно переходит на страницу php, указанную в action, что бы я не делал.
Может быть кто-то сталкивался и знает в чем может быть дело?

Руководствовался: http://positron-it[dot]r[dot][dot][dot]heniem_po_ajax/
Правда по всему видимому автор в примере забыл указать action в форме.
2. IllusionMH - 11 Сентября, 2015 - 21:25:23 - перейти к сообщению
horprogs, event.preventDefault() не забыли в обработчике отправки формы?
Код реализации в студию, а еще лучше на jsFiddle выложить. Сылка в посте нерабочая.

Там же вcе просто, добавить файл в эту форму и отправить.
CODE (javascript):
скопировать код в буфер обмена
  1. ...
  2. fd.append('file', fileInput.files[0]);
  3. xhr.send(fd);


Либо вообще FormData объект передаватя туда объект формы, но не проверял подхватывает ли лон файлы
3. horprogs - 14 Сентября, 2015 - 10:25:02 - перейти к сообщению
Ну вот я сделал через formdata. Обработчик добавить не забыл...
PHP: http://pastebin[dot]com/iUmyNP06
Код: http://jsfiddle[dot]net/horprogs/hp61rLwd/

Извиняюсь что сразу не выложил
4. Tyoma5891 - 14 Сентября, 2015 - 11:23:07 - перейти к сообщению
horprogs пишет:
Ну вот я сделал через formdata. Обработчик добавить не забыл...
PHP: http://pastebin[dot]com/iUmyNP06
Код: http://jsfiddle[dot]net/horprogs/hp61rLwd/

Извиняюсь что сразу не выложил

CODE (html):
скопировать код в буфер обмена
  1. <form action="send.php" enctype="multipart/form-data" method="post" class="send overlay" id="send_form">

уберите action="send.php" enctype="multipart/form-data" method="post" отсюда либо определитесь каким способом все таки отправляете даные постом аякс или просто постом...
5. horprogs - 14 Сентября, 2015 - 12:59:13 - перейти к сообщению
Убрал, но ничего не происходит. Добавляется ?upload=имя_файла
Будто управление php файлу не передается

Если убираю только action выдается ошибка и консоль пишет: Failed to load resource: the server responded with a status of 405 (Not Allowed)
6. horprogs - 15 Сентября, 2015 - 13:50:49 - перейти к сообщению
Исправил ошибку. Все дело походу было в том, что я поместил скрипт до формы.
Всем спасибо за отзывчивость

 

Powered by ExBB FM 1.0 RC1