1

Тема: Ajax и Mysql

Имеется скрипт js, подключается с плагином.

setInterval(function(){
    $.ajax({
      type: "POST",
      url: "????????",
      dataType: "json",
      success: function(data)
      {
        $("#div-block").text(data.number);
      },
      error: function(data) { 
                alert('ERROR!'); 
          }
    });
},1000);

Как понятно из кода - я очень хотеть получать данные (number) каждую секунду из mysql и выводить их в #div-block. Есть ли способ это сделать в Monstra?
Все мои эксперименты с адресом запроса js (url: "????????") заканчивались то ошибками 404 и 403, то вообще не понять чем. Как при всем этом еще и использовать IdiORM?

В общем есть какое-то решение?

Поделиться

2

Re: Ajax и Mysql

Подключение idiorm:
В документе - /boot/defines.php
нужно раскомментировть строки:

//define('MONSTRA_DB_DSN', 'mysql:dbname=monstra;host=localhost;port=3306');
//define('MONSTRA_DB_USER', 'root');
//define('MONSTRA_DB_PASSWORD', 'password');

После этого работаете с idiorm  согласно документации. (естественно нужно создать базу и пароли)

К сожалению с яваскрипт у меня напряги, поэтому по первому вопросу не подскажу.

Спасибо говорим плюсиком в репутацию. Так виднее smile

Поделиться

3

Re: Ajax и Mysql

sergeyterr, как работать с idiorm - это я в курсе )
Нужен именно ajax + mysql на базе monstra

Поделиться

4

Re: Ajax и Mysql

В общем, немного покопавшись, я все таки решил влезть в движок Monstra и проделал некоторые манипуляции, как я считаю - довольно не логичные. Все потому что:
раз) в движок лучше не лезть
два) все-таки необходимо использовать готовые рычаги CMS

Так как этих самых "рычагов" я не нашел (хотелось бы услышать мнение разработчика) представляю такое решение:

- Пишем "обычный" плагин, который выводит в шаблон число number, взятое из БД Mysql
- Подключаем в нем js скрипт средствами движка:

Javascript::add('../../../post/8107/plugins/myplugin/js/ru.forum_subdomain/script.js', 'frontend', 101);

- Идем в monstra.php и подключаем свою "библиотеку":

// forAjax
 'Ajax' => ROOT . DS . 'libraries' . DS . 'Ajax' . DS . 'ajax.php',

- В js скрипте в url теперь можно прописать:

url: "/libraries/ajax/ajax.php",

...так как доступ к ajax.php мы теперь имеем.
- В самом ajax.php пишем код, который соединит нас с БД (стандартными mysql_connect и т.п.) и вытащит новые данные через echo json_encode()
- В js ставим все это на setInterval и получаем данные хоть через каждую секунду.

Естественно, это абсурдно и можно поспорить насчет безопасности, но я не вижу сейчас другого способа. Да и есть ли он?

Поделиться