Не работает зависимый список из 2-х таблиц
Очень прошу помочь, этот вопрос уже не могу решить 2 недели..
2 таблицы.
Таблица mark имеет id и title (названия марок) Таблица model имеет id, mark_id (сопоставление с марками из таблицы mark) и title (названия моделей)
В RedBean вставляю такой код, он в select выводит все марки, модели загружаться не хотят, список моделей просто пропадает, исчезает даже надпись "Выберите модель".
Выводит все марки в цикле, а вот поле модели остается пустым.
Запрос к БД.
$marks = R::findAll('mark', 'ORDER BY title ASC');
$model = R::findAll('model', 'ORDER BY title ASC');
PHP.
<form class="FastSearch" id="search" action="search.php">
<h3>Марка</h3>
<label>
<select id="mark" class="select2" name="mark">
<option value="0" selected>Все марки</option>
<?php if (isset($marks)): ?>
<?php foreach ($marks as $mark): ?>
<option value="<?=$mark['id']; ?>"><?=$mark['title']; ?></option>
<?php endforeach; ?>
<?php endif; ?>
</select>
</label>
</div>
<!--Модель-->
<div class="FullModel">
<h3>Модель</h3>
<label>
<select id="model" class="select2" name="model">
<option value="0" disabled selected>Выберите модель</option>
</select>
</label>
</form>
Ajax.
function getModel(parent, mark, model, create=0) {
$(parent).on('change',mark, function () {
var mark_id = $(mark).val();
$.ajax({
url: '/',
data: {
mark_id: mark_id,
create: create,
},
type: 'POST',
dataType: 'json',
success: function (res) {
if (res) {
$(model).empty().html(res)
} else {
$(model).empty().html('<option>Нет моделей</option>')
}
},
error: function () {
alert('Ошибка');
}
});
});
}
getModel('#search', '#mark', '#model');
Страница исполнения скрипта https://website.com/Index.php
Код ошибки в консоли браузера.
[Deprecation] Synchronous XMLHttpRequest on the main thread is deprecated because of its detrimental effects to the end user's experience. For more help, check https://xhr.spec.whatwg.org/.
send @ jquery.min.js:4
jquery.min.js:4 Failed to load resource: the server responded with a status of 404 ()
send @ jquery.min.js:4
В Ajax запросе url вставлял разные вариации адреса страницы где исполняется скрипт: index, index.php, index.html, https://my-website.com/index.php, https://my-website/index просто ставил / в url ничего не работает.
Ajax подключен.
Прошу, подскажите работающее решение, уже опускаются руки. В поисковике ничего толкового не нашел, здесь тоже вопрос задавал, ответа работающего не получил..
Ответы (1 шт):
Если Ваш веб-сервер под Windows, пропишите в httpd.conf нижеследующее:
#полный путь к библиотеке `PHP` под `Apache`
#у меня это PHP 7.4.10 и Apache 2.4
LoadModule php7_module "x:/usr/local/php7/php7apache2_4.dll"
#Путь к папке `PHP` где хранится `php.ini`
PHPIniDir "x:/usr/local/php7/"
#В нижеследующей инструкции укажите порядок поиска и обработки файлов
#т.е если первым файлом указан `index.html`, а за ним `index.php` и
#в папке сайта будут лежать оба файла то предпочтение будет отдано первому
#в списке
<IfModule dir_module>
DirectoryIndex index.html index.htm index.shtml index.shtm index.phtml index.php
</IfModule>
<IfModule mime_module>
AddType application/x-httpd-php .phtml .php
AddType application/x-httpd-php-source .phps
</IfModule>
P.S Для Unix-систем конфигурирование происходт несколько иначе. Напишите, если нужно привести пример конфигурации для такого типа системы.