Advertisement
vanchelo

MODX Ajax

Nov 29th, 2012
1,354
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 1.08 KB | None | 0 0
  1. <?php
  2. // Подключаем API MODX'a
  3. define('MODX_API_MODE', true);
  4. require 'index.php';
  5.  
  6. // Включаем обработку ошибок
  7. $modx->getService('error','error.modError');
  8. $modx->setLogLevel(modX::LOG_LEVEL_INFO);
  9. $modx->setLogTarget('FILE');
  10.  
  11. function is_ajax(){
  12.     return (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) === 'xmlhttprequest');
  13. }
  14.  
  15. // Определение действия сниппета
  16. if ((empty($_REQUEST['action']) && empty($_SERVER['HTTP_ACTION'])) || !is_ajax()) {
  17.     die;
  18. }
  19. // Также можем передавать скрипту $action через Header - Action
  20. if (!empty($_SERVER['HTTP_ACTION'])) {
  21.     $action = $_SERVER['HTTP_ACTION'];
  22. } else {
  23.     $action = $_REQUEST['action'];
  24. }
  25.  
  26. // Вызов нужного метода
  27. switch ($action) {
  28.     case 'hello_world':
  29.         $output = 'Hello World!';
  30.     break;
  31.  
  32.     default: $output = '';
  33. }
  34.  
  35. if (is_ajax() && !empty($output)) {
  36.     header('Content-Type: application/json; charset=UTF-8');
  37.     echo json_encode($output);die;
  38. } else {
  39.     die;
  40. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement