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

Рейтинг: 0Ответов: 2Опубликовано: 02.08.2023

Не получается отправить запрос на php файл. Вроде запрос уходит, но на странице filter.php, куда я отправляю пусто. Буду рад любой помощи

<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
<?var_dump($_POST);?>

Ответы

▲ 1Принят

JS замените на это

$('#js-button').click(function(){
  var optVal = $('#select').val();
  $.ajax({
      url: 'filter.php',
      method: 'POST',
      data: {section: optVal},
      success: function(data){
        alert(data);
      }
  });
});

А это содержимое filter.php

<?
    echo "filter.php получил и вернул:\n"; print_r($_POST);
?>
▲ 1

В filter.php ничего и не должно появиться. Это обработчик, он должен вернуть результат выполнения.
Выводите data в консоль вместо alert.

Еще можно добавить в filter.php распечатку входящего массива $_POST в файл и посмотреть, доходит ли что-то вообще.

Еще как вариант, попробуйте убрать слэш из url, если обработчик лежит на одном уровне.