Не отвечает через GET запрос php-скрипт из файла в Modx
Доброго дня всем! Помогите разобраться!
Проблема следующая.
Есть js-скрипт на базе Jquery UI (виджет autocomlete), по ajax идет запрос на autocomplete.php.
А когда переносишь код в файл autocomplete.php, то GET запрос формируется, а файл autocomplete.php не отвечает, то есть на GET запрос ошибка 500.
Как сделать чтобы скрипт отвечал?
Проблема следующая.
Есть js-скрипт на базе Jquery UI (виджет autocomlete), по ajax идет запрос на autocomplete.php.
...
$.ajax({
url: "путь/до файла/autocomplete.php",
dataType: "json",
data: {...
Код для файла autocomplete.php написан и протестирован в консоле Modx, и там всё работает.А когда переносишь код в файл autocomplete.php, то GET запрос формируется, а файл autocomplete.php не отвечает, то есть на GET запрос ошибка 500.
Как сделать чтобы скрипт отвечал?
Комментарии: 7
код файла приложите к заметке
<?php
$dsn = 'mysql:host=localhost;dbname=*******;charset=utf8';
$xpdo = new xPDO($dsn, '********', '*******', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
$locate = $_GET['locate'];
$street = $_GET['street'];
$house = $_GET['house'];
$l = $modx->quote($locate);
if (!empty($house)):
$q = "SELECT * FROM `modx_ac_connection` WHERE `locate` = $l AND `street` LIKE '%$street%' AND `house` LIKE '%$house%'";
$re = $xpdo->query($q);
while ($r = $re->fetch(PDO::FETCH_ASSOC)) {
$result[] = $r['house'];
}
$result = array_unique($result);
echo json_encode($result);
else:
$q = "SELECT * FROM `modx_ac_connection` WHERE `locate` = $l AND `street` LIKE '%$street%'";
$re = $xpdo->query($q);
while ($r = $re->fetch(PDO::FETCH_ASSOC)) {
$result[] = $r['street'];
}
$result = array_unique($result);
echo json_encode($result);
endif;
Добавьте в код вывод ошибок
ini_set("display_errors",1);
error_reporting(E_ALL);
и смотрите в консоли браузера какой ответ приходит по запросу
Включил вывод ошибок.
Ошибка такая:
Как подгрузить xPDO?
Ошибка такая:
Fatal error: Uncaught Error: Class 'xPDO' not found in /***/**/autocomplete.php
Ругется вот на эту строку:<?php
$xpdo = new xPDO($dsn, '********', '*******', [PDO::ATTR_ERRMODE => PDO::ERRMODE_EXCEPTION]);
Судя по всему не хватает xPDO.Как подгрузить xPDO?
почему не используете класс modx?
xpdo находится здесь
/core/xpdo/xpdo.class.php
xpdo находится здесь
/core/xpdo/xpdo.class.php
Спасибо.
А есть какое-нибудь типовое решение для того, чтобы подтянуть все классы?
С учётом того core вынесено за public_html
А есть какое-нибудь типовое решение для того, чтобы подтянуть все классы?
С учётом того core вынесено за public_html
подключай index.php
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.