Javascript 如何将获取的数据放入输入字段-AJAX

Javascript 如何将获取的数据放入输入字段-AJAX,javascript,php,jquery,ajax,Javascript,Php,Jquery,Ajax,我试图使用AJAX实时搜索或过滤数据库中的一些数据,我使用oninput事件触发该函数。但它不起作用,有人能帮我找出代码中的错误吗?我只是ajax的初学者 这是我的输入字段 <div class="form-group"> <label for="stud_num">Student Number</label> <input type="text" name="stud_num" cla

我试图使用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> 
这里是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
。ajax

您不能回显php数组…您需要发送一种数据格式,该格式可以方便客户端使用,目前最常见的是json

用于转换

试一试


并确保在
$中设置
数据类型:'json
。ajax

,因为我还不能回复评论@正如其他人所说,nethken使用json_编码。请确保数据已发布到相关的php文件中。您可以通过在开发人员工具中调试代码来确认这一点。单步执行代码,或在发送前警告值(javascript客户端调试)


接下来,我将在您的php文件中使用var_dump($_POST['stud']),这将确认该值是否到达了那里。您可以通过在开发人员工具中访问网络流量并选择php文件的预览来查看数据。如果你有xDebug,你可以简单地一步一步地调试代码,我假设你没有安装它。

因为我还不能回复评论@正如其他人所说,nethken使用json_编码。请确保数据已发布到相关的php文件中。您可以通过在开发人员工具中调试代码来确认这一点。单步执行代码,或在发送前警告值(javascript客户端调试)



接下来,我将在您的php文件中使用var_dump($_POST['stud']),这将确认该值是否到达了那里。您可以通过在开发人员工具中访问网络流量并选择php文件的预览来查看数据。如果你有xDebug,你可以简单地通过代码进行调试,我假设你没有设置它。

你不能直接回显数组->
echo$data。使用->
echo json\u encode($data)。我需要在ajax中输入数据类型:“json”吗?您可以,但不是像jQuery和
Intelligent Guess那样完全必要。您是否检查了浏览器开发人员工具以查看是否调用了ajax调用?@sean这就是您所说的
XHR完成加载:POST"http://localhost/studentportal/getrecords.php“
?不能直接回显数组->
回显$data;
。请使用->
回显json\u encode($data);
。我需要在ajax中输入数据类型:“json”吗?您可以,但不是像jQuery和
智能猜测那样完全必要。您是否检查了浏览器开发工具以查看是否调用了ajax调用?@sean这就是您所说的
XHR完成加载:POST”http://localhost/studentportal/getrecords.php“
?仍然无法工作,我正在尝试进行实时搜索。oninput事件是错误的方法吗?我已经尝试将其更改为
json\u encode
。请尝试使用
onchange
或使用一个键事件并向ajax添加一个错误处理程序。检查浏览器开发工具网络中的实际请求,查看是否发出请求,状态是什么,发送/接收的是我删除数据中的
。firstname
。firstname输入有一个值,但它的
[对象]
。您正在接收一个对象数组。如果db查询只有一行,则返回单个对象而不是对象数组,否则您需要迭代数组并对每个对象执行操作,因为您在php中创建嵌套数组,从json解析时将转换为对象数组,即使该数组中只有一个对象不起作用,我正在尝试做一个现场搜索。oninput事件是错误的方法吗?我已经尝试将其更改为
json\u encode
。请尝试使用
onchange
或使用一个键事件并向ajax添加一个错误处理程序。检查浏览器开发工具网络中的实际请求,查看是否发出请求,状态是什么,发送/接收的是我删除数据中的
。firstname
。firstname输入有一个值,但它的
[对象]
。您正在接收一个对象数组。如果db查询仅为一行,则返回单个对象而不是对象数组,否则需要迭代数组并对每个对象执行某些操作,因为您在php中创建嵌套数组,从json解析时将转换为对象数组,即使该数组中只有一个对象也是如此
   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;
   }
echo json_encode($data);