Почему я получаю Undefned Jquery-AJAX - PullRequest
0 голосов
/ 09 июля 2019

У меня есть следующий код. Я пытался получить значения для заполнения в поле <select>, но продолжаю получать undefined.

Я переключил Object.keys с Object.values, но продолжаю получать тот же результат. Пожалуйста, кто-нибудь может направить меня в правильном направлении.

$(document).ready(function() {
  $("#ddlcomp").change(function() {
    var cid = $("#ddlcomp").val();

    $.ajax({
      url: 'doload.php',
      method: 'post',
      data: 'catid=' + cid
    }).done(function(rows) {
      //console.log(rows);
      rows = JSON.parse(rows);
      console.log(rows);
      $('#ddlsubcat').empty();
      Object.keys(rows).forEach(function(rowss) {
        console.log(rowss);
        $('#ddlsubcat').append('<option>' + rowss.subcat + '</option>');
        //$('#ddlsubcat').innerHTML = $('#ddlsubcat').innerHTML +
        //    '<option>' + rowss.subcat + '</option>';
      })

      //for (var i = 0, len = rows.length;  i < len; i++){
      //  $('#ddlsubcat').append('<option>' + rows[i].subcat + '</option>');
      //}
    })
  })
})

1 Ответ

0 голосов
/ 19 июля 2019

Я решил это.Проблема была не в части Jquery Ajax, а в коде PHP, который я использовал для извлечения данных из базы данных.

if(isset($_POST['catid'])){
  $catid = $_POST['catid'];
  $query = mysqli_query($con, "select * from tbsubcat where catid = '$catid' order by subcat ");
  if (mysqli_num_rows($query) > 0){
   // while($rows=mysqli_fetch_row($query)){
        $rows=mysqli_fetch_all($query,MYSQLI_ASSOC);
        echo json_encode($rows);
   // }
  }
}

Закомментированный блок кода был оригинальным >>> mysqli_fetch_row, поэтому я изменил его на mysqli_fetch_all .

Это решило проблему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...