[英]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.