Загрузить изображение с помощью AJAX в Joomla 3.0 MVC [дубликат]

    

У этого вопроса уже есть ответ:

    

Я пытаюсь загрузить изображение с использованием jQuery AJAX в инфраструктуру Joomla MVC.

Ниже приведен файл default.php, который добавляет следующий код сценария javascript

$('#icon-submit').on('click',(function(e) {
e.preventDefault();
var formData = new FormData($(this).closest('form')[0]));
  $.ajax({
    url: "index.php?option=com_jsmdownload&task=imageUpload",
    type: "POST",
    data:  new FormData(formData),
    contentType: false,
    cache: false,
    processData:false,
    success: function(data){
      alert(data);
    },
    error: function(){
    }
  });
}));

Ниже приведен код HTML, который содержит простой файл и кнопку

<form action="<?php echo JRoute::_('index.php'); ?>" method="POST" name="adminForm" id="adminForm" enctype="multipart/form-data">
  <input type="file" id="and_36x36" name="and_36x36">
  <input id='icon-submit' type='button' value='Next ->' />
</form>

Ниже приведен код PHP в файле controller.php для задачи imageUpload.

function imageUpload(){
  JFactory::getDocument()->setMimeEncoding( 'application/json' );
  print_r($_FILES);
  JFactory::getApplication()->close();
}

Как только я выберу файл и нажимаю кнопку, функция PHP еще не вызывает, и я вижу только выходной файл

введите описание изображения здесь>> </p>

<p> Я не знаю, что я делаю неправильно. Я хочу получить выбранный файл и загрузить его на сервер и вернуться в браузер. </p>

<p> Я ссылался на несколько сообщений и не мог найти ответ. </p>

<p> Одно из наблюдений заключается в том, что если я изменил URL-адрес на простой PHP-файл без импорта Joomla MVC, тогда он отлично работает, и я мог бы видеть приведенный ниже вывод. </p>

<p> <img src =

Проблема только в том, что я привязываюсь к представлению компонента, а затем не вызывается. Нужна помощь, чтобы исправить это.

2 голоса | спросил Malaiselvan 22 62014vEurope/Moscow11bEurope/MoscowSat, 22 Nov 2014 04:31:06 +0300 2014, 04:31:06

1 ответ


1

Вы должны добавить '& tmpl = component' к вашему URL-адресу в вызове AJAX, чтобы вернуть только компонентный вывод, а не всю страницу.

Изменить

url: "index.php?option=com_jsmdownload&task=imageUpload",

к

url: "index.php?option=com_jsmdownload&task=imageUpload&tmpl=component",

Попробуйте и посмотрите, работает ли он.

ответил fruppel 22 62014vEurope/Moscow11bEurope/MoscowSat, 22 Nov 2014 15:57:21 +0300 2014, 15:57:21

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132