recherche

Maison  >  Questions et réponses  >  le corps du texte

javascript - Entrez l'identifiant pour interroger les informations associées, mais non défini s'affiche

Les informations peuvent être interrogées sur la page PHP, mais undefined est affiché sur la page front-end

<html>
<head>
<meta charset="utf-8">
<script src="http://libs.baidu.com/jquery/1.9.0/jquery.js" type="text/javascript"></script>
</head>
<body>
    <p>
        <input type="text" name="idNum" id="idNum">
        <input type="button" value="查询" id="btnSearch">
        <ul></ul>
    </p>
    <p id="myp"></p>

    <script type="text/javascript">
        $(function(){
            $("#btnSearch").bind("click",function(){
                //ajax
                $.post(
                    "search.php",
                    {num:$("#idNum").val()},
                    function (data) {
                        console.log(data);
                        $("ul").append(
                            "<li>mac:"+data.mac+"</li>"+"<li>name:"+data.name+"</li>"+"<li>password:"+data.password+"</li>"
                            );
                    }
                );
            })
        });

    </script>
</body>
</html>

Le code PHP est le suivant



<?php
header("Content-type:text/json;charset=utf-8");
$num = filter_input(INPUT_GET, 'num', FILTER_SANITIZE_STRING);
//$num=$_GET["num"];
class p_mysqli extends mysqli {
    public function __construct($host, $user, $pass, $db) {
        parent::__construct($host, $user, $pass, $db);
        if (mysqli_connect_error()) {
            die('连接数据库发生错误咯: (' . mysqli_connect_errno() . ') '. mysqli_connect_error());
        }
    }
}

$mysqli=new mysqli('127.0.0.1', 'root', 'wl123456','proxys');
if ($mysqli->connect_errno) {
    die('Connect Error:'.$mysqli->connect_error);
}
$mysqli->set_charset('utf8');
$sql = "SELECT id,mac,name,password FROM s_user  WHERE id = ?";
//$sql = "SELECT mac,name,password FROM s_user  WHERE id = '207545'";
// 获取预处理
$stmt = $mysqli->prepare($sql);
// 绑定参数
$stmt->bind_param("s", $num);
// 执行
$stmt->execute();
// 获取结果集
$result = $stmt->get_result();
// 获取数据
$data = $result->fetch_all(MYSQLI_ASSOC);
echo json_encode($data);
?>

console.log(data) a constaté que le tableau est vide

La page HTML affiche le résultat comme ceci : mac:undefined

PHP中文网PHP中文网2709 Il y a quelques jours891

répondre à tous(3)je répondrai

  • 某草草

    某草草2017-06-30 09:57:16

    On a l'impression que la requête n'a pas renvoyé de données. Utilisez les outils de débogage du navigateur pour voir la valeur de retour de la requête

    répondre
    0
  • typecho

    typecho2017-06-30 09:57:16

    Vous avez indiqué tous les problèmes. Les données renvoyées par l'arrière-plan sont vides. Si elles sont vides, ne suivez pas la logique suivante ! Vous avez utilisé la valeur clé mac inexistante en js, elle doit être indéfinie

    répondre
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-06-30 09:57:16

    Imprimez les données de la variable avant le dernier écho sur la page PHP pour voir s'il y a une valeur, imprimez la valeur du résultat dessus pour localiser le problème étape par étape

    .

    répondre
    0
  • Annulerrépondre