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

limon142

  • Захожу иногда
  • 56
  • 1 / 0
jQuery.ajax в joomla3
« : 25.12.2016, 10:09:20 »
Прошу помощи уважаемые форумчане. Как передать AJAX с записью в БД и вывести оповещение.
Где ошибка не могу понять:
1. подключаю в index.php
Код
 <script type="text/javascript" src="https://code.jquery.com/jquery-1.12.3.min.js"></script>

2. в файле com_test\views\messag\tmpl\default.php пишу
 
Код
<?php
defined('_JEXEC') or die;
<script type="text/javascript">
function add_favorites(add)
{ jQuery.ajax({
type : 'POST',
url : 'index.php?option=com_test&view=messag',
data : { 'task': "add_favorites",
            'add': add},
    success : function(result, errors)
{ if ("ok" == result)
{alert("Успешно добавлено"); }
else { alert("Произошла ошибка при добавлении");
}}}); }
</script>
<div class="pa">
<a href="#"  title="Добавить " onclick="add_favorites(<?php echo $val->id ?>);return false;">Добавить</a>
  </div>

3. в контроллере com_test\controllers\messag.php
Код
<?php
defined('_JEXEC') or die;
class TestControllerMessag extends JControllerLegacy {
public function add_favorites(){
   $database = JFactory::getDbo();
   $user  = JFactory::getUser();
   $add = JRequest::getVar('add');
   $sql ='INSERT INTO #__test (u_id,p_id)
      VALUES ('.$user->get('id',0).','.$add .')';
$database->setQuery($sql);
$database->query();
exit ('ok');
die();
}}


Но почему то не записывает данные в БД и не выводить положительный ответ "Успешно добавлено".
Помогите разобраться.
« Последнее редактирование: 25.12.2016, 13:04:02 от limon142 »
*

limon142

  • Захожу иногда
  • 56
  • 1 / 0
Re: jQuery.ajax в joomla3
« Ответ #1 : 25.12.2016, 15:42:59 »
Я так понимаю, что jQuery.ajax отрабатывается, на потом в контроллер нечего не попадает и соответственно не возвращает   ('ok'). НО почему подскажите.
*

Arkadiy

  • Гуру
  • 5136
  • 447 / 1
  • Крепитесь, други.
Re: jQuery.ajax в joomla3
« Ответ #2 : 25.12.2016, 16:14:18 »
Откройте отладку в браузере, посмотрите какой URL у вас получился в этом запросе, какой статус ответа, какой ответ, попробуйте явно указать тип принимаемых данных AJAX запроса как текст.
*

limon142

  • Захожу иногда
  • 56
  • 1 / 0
Re: jQuery.ajax в joomla3
« Ответ #3 : 26.12.2016, 04:20:52 »
Все разобрался, вдруг кому пригодится:
1- функционал рабочий за исключение адреса обработчика который надо поправить (здесь на форуме где то есть ответ)
Код
url : 'index.php?option=com_test&view=messag',

2- а в самой joomla3 есть готовые решения (плюшки) для того этого функционала? Если кому не трудно показать на моем примере, я думную начинающим будет  полезно.
Чтобы оставить сообщение,
Вам необходимо Войти или Зарегистрироваться
 

Обновить JQuery до более новой версии

Автор bybus

Ответов: 1
Просмотров: 83
Последний ответ 22.11.2017, 12:37:23
от draff
Обновился 3.4.1 до 3.8.1, перестал работать AJAX

Автор Zhanadil1509

Ответов: 1
Просмотров: 65
Последний ответ 10.11.2017, 10:31:23
от ProtectYourSite
[Решено] Отключить Mootols, Jquery и Bootstrap в Joomla 3

Автор Pazys

Ответов: 112
Просмотров: 57169
Последний ответ 19.10.2017, 14:33:30
от Театрал
Отправка AJAX из компонента

Автор ChervonStudio

Ответов: 4
Просмотров: 99
Последний ответ 29.08.2017, 18:04:07
от dmitry_stas
Внедрение AJAX в модуле

Автор alpha_ru

Ответов: 21
Просмотров: 291
Последний ответ 21.08.2017, 09:38:38
от ProtectYourSite