За последние 24 часа нас посетили 34766 программистов и 1695 роботов. Сейчас ищут 885 программистов ...

классы не подгружается ajax

Тема в разделе "PHP для новичков", создана пользователем romaaa32, 9 сен 2017.

  1. romaaa32

    romaaa32 Активный пользователь

    С нами с:
    2 мар 2017
    Сообщения:
    22
    Симпатии:
    3
    PHP:
    1. use modules\datebase\connection;
    2.  
    3. $CONNECT = new Connection();
    4. ...
    Есть страница откуда посылаются данные (ajax) на php файл где подключается класс БД, его там не находит. Если же не через ajax все работает. Почему?

    Код (Text):
    1. Fatal error: Uncaught Error: Class 'modules\datebase\connection' not found in
     
    #1 romaaa32, 9 сен 2017
    Последнее редактирование: 9 сен 2017
  2. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Проверяйте, на какой адрес, с какими параметрами идет аякс. Смотрите, чем это отличается от прямого вызова.
     
  3. romaaa32

    romaaa32 Активный пользователь

    С нами с:
    2 мар 2017
    Сообщения:
    22
    Симпатии:
    3
    Прямой вызов идет через роутер, а аякс напрямую в форме. Может быть из-за этого?
     
  4. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Может быть. При роутинге у тебя цепляются все нужные файлики, включая классы необходимые. А напрямую - нет. Вывод? Шлем AJAX на роутер.
     
  5. romaaa32

    romaaa32 Активный пользователь

    С нами с:
    2 мар 2017
    Сообщения:
    22
    Симпатии:
    3
    Спасибо, теперь буду думать как это сделать.)
     
  6. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    А в чем проблема?
     
  7. romaaa32

    romaaa32 Активный пользователь

    С нами с:
    2 мар 2017
    Сообщения:
    22
    Симпатии:
    3
    Я в процессе изучения php и всего остального.
     
  8. romaaa32

    romaaa32 Активный пользователь

    С нами с:
    2 мар 2017
    Сообщения:
    22
    Симпатии:
    3
    PHP:
    1. if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')
    2.         {
    3.             $ad = substr($_SERVER['REDIRECT_URL'], 1);
    4.             include $ad.'.php';
    5.         }
    Сделал так, но опять проблема, выводит полностью с заголовком страницу, а не только результат как должно.

    Пойду дальше разбираться. Спасибо)
     
  9. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Логично.
    Ты передавай какой-нибудь параметр, чтобы система поняла, что это AJAX-запрос, и отдала только то, что нужно в контексте этого запроса.
    У меня, к примеру, одна точка входа для всего, но если система получает AJAX, она перенаправляет запрос от основного потока в специальный аяксовый роутер, работающий уже по своим правилам.
     
  10. romaaa32

    romaaa32 Активный пользователь

    С нами с:
    2 мар 2017
    Сообщения:
    22
    Симпатии:
    3
    в общем ковырялся и понял кое-то, автозагрузчик классов не подключается почему-то, а почему так и не понял

    вот такое если добавить в пхп файл к которому обращается аякс начинает работать:
    PHP:
    1. include $_SERVER['DOCUMENT_ROOT'].'/autoload.php';
    Может с хтаццесом что-то не такЖ
    Код (Text):
    1. RewriteEngine On
    2. RewriteCond %{REQUEST_FILENAME} !-d
    3. RewriteCond %{REQUEST_FILENAME} !-f
    4.  
    5. RewriteRule ^(.*)$ index.php/$1 [L]
     
  11. Fell-x27

    Fell-x27 Суперстар
    Команда форума Модератор

    С нами с:
    25 июл 2013
    Сообщения:
    12.156
    Симпатии:
    1.771
    Адрес:
    :сердА
    Осваивай отладку. Ставь себе нормальную IDE, ставь xDebug, дружи их между собой, это дело нехитрое и легко гуглится. И сможешь свои программы построчно просматривать в действии, что куда и как, как переменные меняются, куда какие вызовы идут. Милейшее дело.
     
  12. romaaa32

    romaaa32 Активный пользователь

    С нами с:
    2 мар 2017
    Сообщения:
    22
    Симпатии:
    3
    Буду осваивать, спасибо.