Почему при ajax запросе на php файл ничего не приходит?
Не получается отправить запрос на php файл. Вроде запрос уходит, но на странице filter.php, куда я отправляю пусто. В response пусто.Буду рад любой помощи
<form > <div class="form-group"> <label for="exampleFormControlSelect1"></label> <select class="form-control" name="custom" id="select"> <option class="js-button" value="16">Ventura HRL</option> <option class="js-button">2</option> <option>3</option> <option>4</option> <option>5</option> </select> </div> <input type="button" id="js-button" name="done" value="Отправить" style="margin-top: 5px;"> <p id="js-result"></p> </form> <script> $('#js-button').click(function(){ var value = $('#select').val(); console.log("wewe"); $.ajax({ url: '/filter.php', method: 'POST', contentType:"application/json; charset=utf-8" , dataType: 'JSON', async: false, data: {section:value }, success: function(data){ alert("dsdsd"); } }); }); </script> //filter.php <?echo($_POST);?> |
<form > <div class="form-group"> <label for="exampleFormControlSelect1"></label> <select class="form-control" name="custom" id="select"> <option class="js-button" value="16">Ventura HRL</option> <option class="js-button">2</option> <option>3</option> <option>4</option> <option>5</option> </select> </div> <input type="button" id="js-button" name="done" value="Отправить" style="margin-top: 5px;"> <p id="js-result"></p> </form> <script> $('#js-button').click(function(){ var value = $('#select').val(); console.log("wewe"); $.ajax({ url: '/filter.php', method: 'POST', contentType:"application/json; charset=utf-8" , dataType: 'JSON', async: false, data: {section:value }, success: function(data){ alert("dsdsd"); } }); }); </script> //filter.php <?echo($_POST);?>
Дополнительно:
В фильтр
file_put_contents('log.txt', var_export($_REQUEST, true)); |
file_put_contents('log.txt', var_export($_REQUEST, true));
Ответы:
Echo не умеет выводить массивы, воспользуйся какой-либо сериализацией, json_encode или var_dump или вместо echo используй print_r
Вроде запрос уходит
Что в пэйлоаде? Вангую что там ничего связанного с $_POST переменными нет...
contentType:"application/json; charset=utf-8"
Так как вы явно указываете что будете передавать строку жсон в теле запроса, не понятно что вы пытаетесь найти в $_POST.
<?echo($_POST);?>
Во первых отвыкайте использовать шорт теги, во вторых переменная $_POST это массив, и соответственно через ехо его выводить бессмысленно, и в третьих, как я написал выше, там ничего нет, так как данные передаются в теле запроса.
- а url: '/filter.php', верный? Уверены?
Сделайте просто в filter.php
return 0;
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Причин, по которым при ajax запросе на PHP файл ничего не приходит, может быть несколько. Давайте рассмотрим несколько возможных причин и способы их решения:
1. Проверьте правильность пути к PHP файлу в вашем ajax запросе. Убедитесь, что путь указан правильно и файл существует по указанному пути.
2. Убедитесь, что ваш PHP файл корректно обрабатывает запросы. Проверьте, что в вашем PHP файле нет ошибок синтаксиса и он правильно обрабатывает переданные данные.
3. Проверьте статус ответа вашего PHP файла. Убедитесь, что он возвращает корректный HTTP статус (например, 200 OK).
4. Проверьте, не блокирует ли какой-либо файерволл или антивирус запросы к вашему PHP файлу. Попробуйте временно отключить их и повторить запрос.
5. Проверьте, не возникают ли ошибки в консоли браузера при отправке ajax запроса. Откройте консоль разработчика (F12) и посмотрите, есть ли там какие-либо ошибки.
Вот пример кода, который вы можете использовать для отправки ajax запроса на PHP файл:
$.ajax({ url: 'path/to/your/php/file.php', type: 'POST', data: { key1: 'value1', key2: 'value2' }, success: function(response) { console.log(response); }, error: function(xhr, status, error) { console.log(error); } });
Если после проверки всех вышеперечисленных пунктов проблема все еще не решена, попробуйте добавить дополнительные логи в ваш PHP файл, чтобы отследить, доходят ли данные до него и как они обрабатываются. Надеюсь, эти советы помогут вам решить проблему с ajax запросом на PHP файл.