Здравствуйте. Сделал выборку из базы данных, чтобы можно было выбрать нужное поле. Запрос уходит, во вкладке network появляется выполненная функция, статус 200 и возвращает нужное мне значение. Но при обращении к POST <code><?print_r($_POST);?></code> не приходит это значение Запрос к базе: Код (Text): $warehouse_id = array(); $q = "SELECT * FROM `warehouse` WHERE 1 ORDER BY `id` "; $r = mysql_query($q); $warehouse_id[] = array(); while ($f = mysql_fetch_assoc($r)) { $warehouse_id[] = array("id" => $f["id"], "name" => $f["name"]); } Сам поиск: Код (Text): <span>Склад</span> <select size="1" name="warehouse" class="warehouse"> <?php foreach ($warehouse_id as $warehouse) { ?> <option value="<?= $warehouse["id"] ?>"><?= $warehouse["name"] ?></option> <?php } ?> </select> <button class="get_warehouse" type="submit" style="">Поиск</button><br /><br /> И Ajax: Код (Text): jQuery("select.warehouse").chosen({ no_results_text: "Не найдено", placeholder_text_multiple: "Любой", width: "300px", search_contains: true, placeholder_text_single: "Укажите склад" }); jQuery("button.get_warehouse").click(function(){ var warehouse_id = jQuery("select.warehouse").chosen().val(); console.log("warehouse_id="+warehouse_id); jQuery.await("open"); jQuery.ajax({ url: '/administrator/components/com_work_with_products/work_with_products.php', type: 'post', contentType: 'application/x-www-form-urlencoded', dataType: 'html', async: true, data: { warehouse: warehouse_id, }, success: function (data) { jQuery.await("close"); } }); });
Самый нижний фрагмент кода у Вас - это jQuery-скрипт, который делает AJAX-запрос к скрипту work_with_products.php, который в свою очередь должен возвращать некое значение (echo 'Какой то ответ с сервера'. В приведенных двух скриптах, я не вижу echo, поэтому и задаю вопрос: Какой из двух фрагментов Вы считаете кодом work_with_products.php?
Никакой. Не понял изначально что имелось ввиду. Она вызывает сама себя, как выяснилось получает нужное значение, но не обновляет элемент где это значение используется
Вы технологию AJAX-запроса понимаете? Создайте простой тестовый пример: 1. Создайте файл test.html с кнопкой id="btn_test" и прилинкуйте в хидере jQuery и test.js 2. Файл test.js Код (Javascript): $(document).ready(function () { $('#btn_test').click(function(){ btn_click_function(); } } function btn_click_function() { alert('Ответ с браузера!'); $.ajax({ type: 'POST', url: "../ajax/test.php", data:{ ajax_value:'Какая то переменная' }, success:function(data_html){ alert(data_html); } }); } 3. Файл test.php в каталоге ajax: PHP: $test_value=filter_input(INPUT_POST,'ajax_value',FILTER_SANITIZE_SPECIAL_CHARS); echo 'Ответ с сервера - '.$test_value; Благодаря echo (и подобным командам, напр. print_r()) сервер пересылает браузеру инф-ию без перезагрузки страницы, что я считаю очень удобным. Пример создан "на коленке".