Как передавать изображения в своем модуле для отправки на почту?

0 Пользователей и 1 Гость просматривают эту тему.
  • 5 Ответов
  • 306 Просмотров
*

aleks_lv

  • Осваиваюсь на форуме
  • ***
  • 25
  • 1
Как правильно через AJAX передать изображение в модуле
со всеми данными формы
jQuery
Код
            $.ajax({
                type: 'POST',
                processData: false,
                contentType: false,
                data: {
                    option: 'com_ajax',
                    module: 'calc',
                    format: 'raw',
                    data: new FormData(self),

                },
            })
форма
Код
<form enctype="multipart/form-data" method="POST" id="form">
             тут еще куча инпутов
чекебоксов
                <label class="form_label">Загрузите проект/фото дома (если есть)</label>
                <div class="cont_label">
                    <label class="file_upload">
                        <span class="name_img">Выберите файл</span>
                        <span class="image_file"></span>
                        <input type="file" multiple name="file" size="40" class=" file_input">
                    </label>
                    <button type="submit"></button>
                </div>
</form>
и вот в модуле
helper.php
Код
defined('_JEXEC') or die;
class ModCalcHelper
{
    protected $module = 0;
    protected $params = null;

    public function __construct($module){
      
    
    }

    public function repTitle($title){
     $result=str_replace("_", " ", $title);
     return $result;
    }

    public static function getAjax()
    {
    jimport('joomla.application.module.helper'); //подключаем хелпер для модуля
    $input = JFactory::getApplication()->input;
    //Далее просто получаем данные
     $file=$_FILES['file']['tmp_name'];
     var_dump($file);
     $data = $input->getString('data');  
     return $data; //вы можете что-нибудь вернуть в ответ

    }


}


но ниче не работает
что я не так делаю?
или где есть какой то образец может?

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
не понятно как вы узнаете что у вас ничего не работает ?)
У меня например так  работает:
Форма:
Код: html4strict
<form action="index.php" method="post" enctype="multipart/form-data" id="formModule">
<input type="file" name="file">
<input type="hidden" name="option" value="com_ajax">
<input type="hidden" name="module" value="calc">
<input type="hidden" name="format" value="data">
</form>

JQ:
Код: javascript
jQuery(document).ready(function ($) {
$('#formModule').submit(function (e) {
e.preventDefault();
var form = $(this);
var formData = new FormData(form[0]);
form.find('input[type="submit"]').hide();
$.ajax({
type: 'POST', cache: false, dataType: 'json', processData: false, contentType: false, url: form.attr('action'), data: formData,
success: function (response) {
console.log(response);
}
});
});
});

PHP:
Код: php
public function getAjax()
{
echo  json_encode( array( 'files' => print_r( $_FILES, true ), 'request' => print_r( $_REQUEST, true ) ) );
exit;
}
« Последнее редактирование: 11.06.2016, 19:56:32 от Istaan »
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

aleks_lv

  • Осваиваюсь на форуме
  • ***
  • 25
  • 1
вообще то на этом пока остановился
но вот пробую
var_dump($file);
и ответ нету

*

Aleks.Denezh

  • Практически профи
  • *******
  • 2785
  • 376
вообще то на этом пока остановился
но вот пробую
var_dump($file);
и ответ нету
ну дык вы делаете var_dump и где то там в скрипте, в фоне, оно выводит что пришло, но вы же эти данные никак не возвращаете вашему скрипту, оно где то там невидимо для вашего глаза выполнилось и все! Я выше написал пример кода по которому у меня работает!
Мой  блог по разработке на Joomla CMS!
Хотите отблагодарить материально? Мой WMR: R861060179016

*

aleks_lv

  • Осваиваюсь на форуме
  • ***
  • 25
  • 1

*

aleks_lv

  • Осваиваюсь на форуме
  • ***
  • 25
  • 1