Группа: Пользователь Регистрация: 24.09.2011 Город: qwert | Решил не плодить темы, поэтому хочу задать ещё один вопрос, который не могу уже долго решить. По прежнему продолжаю "биться" над динамическим обновлением страницы и в общем-то вопрос в следующем: есть такой код: jQuery.ajax({ type: "POST", url: "{$path}/chat.php", cache: false, data: "action=refresh", error: function(){ $("#messages").html('Ошибка AJAX'); }, success: function(html){ $("#messages").html(html); } });
|
В классе chat.php стандартное: <?php ini_set('display_errors',1); error_reporting(E_ALL); if (!defined('STATUS_DIR')) exit('Доступ запрещен'); if (!permission('chat')) Sys::getClass('Core')->getNoPerm(); include (MODUL_DIR . '/chat/class/class.Chat.php'); $_POST['action'] = !empty($_POST['action']) ? $_POST['action'] : 'start'; switch (Sys::get($_POST, 'action')){ default: break; case 'start' : Sys::getClass('Chat')->start(); break; case 'refresh' : Sys::getClass('Chat')->getMessages(); break; } ?>
|
При такой реализации я получаю "Доступ запрещен". Также пробовал сделать вызов через url: "index.php", data: "p=chat&action=refresh",но при такой попытке switch переключался на start,а не на refresh Ради эксперимента, делал отдельный класс, в котором было прописано подключение к базе и обработка запроса, получения из базы данных и вызов был в виде url: "{$path}/badChat.php", все работает, но ни как не соответствует контексту безопасности. В общем-то вопрос, как правильно реализовать данный ajax запрос, чтобы в chat.php не ловить "Доступ запрещен" и корректно по запросу POST переходить к получению сообщений? Или может быть есть какие-то другие способы перегрузить div? Сумбурно как-то получилось описать, поэтому в двух словах: делаю модуль чата, есть div, в который выводятся сообщения и в принципе уже почти все работает, за исключением динамического обновления по таймеру. Перезагружать всю страницу, это как-то не правильно :) |