Почему при ajax запросе на php файл ничего не приходит?

Ссылка скопирована
1 апреля 2026 1 ответ

Не получается отправить запрос на 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;
Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Стас DB Ответ

Причин, по которым при 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);
    }
});

$.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 файл.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно