javascript - Entrez l'identifiant pour interroger les informations associées, mais non défini s'affiche
PHP中文网
PHP中文网 2017-06-30 09:55:16
0
3
901

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中文网

认证0级讲师

répondre à tous(3)
某草草

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

typecho

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

曾经蜡笔没有小新

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

.
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal