簡體   English   中英

如何將獲取的數據放在輸入字段中-AJAX

[英]How to put the fetched data in the input field - AJAX

我試圖使用AJAX實時搜索或過濾數據庫中的某些數據,我使用了oninput事件來觸發該函數。 但這不起作用,有人可以幫我找出代碼中的錯誤嗎? 我只是ajax的初學者。

這是我的輸入字段

   <div class="form-group">
               <label for="stud_num">Student Number</label>
                <input type="text" name="stud_num" class="form-control stud_num" oninput="loadinfo()" id="stud_num" placeholder="Student Number" style="max-width:150px;" required>
        </div> 

這是我的職能,

  function loadinfo(){
    var stud = $("#stud_num").val();
    $.ajax({
      url:'getrecords.php',
      method:'POST',
      data:{
        "loadinfo": 1,
        "stud": stud,
      },
      success: function(data){
        $('#firstname').val(data.firstname);
      }
    });
  }

這里的PHP代碼,

   if(isset($_POST['loadinfo'])){
    $stud = $_POST['stud'];

    $sql = "SELECT * FROM studmast WHERE stud_no ='$stud'";
    $result = mysqli_query($con,$sql);

       while($row = mysqli_fetch_array($result)){
                  $data[] = array(
                        'lastname' => $row['lastname'],
                        'firstname' => $row['firstname'],
                        'midname' => $row['middlename']
                        );
            }
            echo $data;
   }

您無法回顯php數組...您需要發送一種易於客戶端使用的數據格式,而如今最常見的是json。

使用json_encode()進行轉換

嘗試

echo json_encode($data);

並確保在$.ajax設置dataType:'json

因為我還不能回復評論.. @nethken正如其他人所說,請使用json_encode。 請確保將數據發布到有問題的php文件中。 您可以通過調試開發人員工具中的代碼來確認這一點。 逐步執行代碼或在發送前警告值(javascript客戶端調試)。

接下來,我將在您的php文件中使用var_dump($ _ POST ['stud']),這將確認該值是否到達那里。 您可以通過在開發人員工具中進入網絡流量並選擇php文件的預覽來查看數據。 如果您有xDebug,則可以簡單地逐步調試代碼,假設您沒有安裝它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM