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

limon142

  • Захожу иногда
  • 66
  • 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

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

Arkadiy

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

limon142

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

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

component/ajax/?format=json

Автор natashalina

Ответов: 5
Просмотров: 152
Последний ответ 15.11.2018, 12:52:28
от draff
Perfect ajax Popup Contact Form не закрывается после отправки

Автор fireman

Ответов: 2
Просмотров: 214
Последний ответ 07.11.2018, 19:55:38
от EvgenDu
Как убрать текст на главной?

Автор m03mug08

Ответов: 5
Просмотров: 425
Последний ответ 07.09.2018, 14:52:24
от Konst
ajax корзина

Автор ghostcom

Ответов: 7
Просмотров: 266
Последний ответ 30.08.2018, 17:51:45
от ghostcom
Jquery в коде страницы

Автор Gerostrat

Ответов: 3
Просмотров: 127
Последний ответ 21.05.2018, 13:45:28
от dmitry_stas