如何避免数据结果中的html代码

时间:2016-02-18 21:42:17

标签: javascript php jquery json

我正在使用php json获取一些数据,结果也给我带来了html代码,所以页面给了我一个意外的令牌。这是我的代码:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.0.2/jquery.min.js"></script>
    <script type="text/javascript">
    $(document).on("ready", function(){
        loadData();
    });

    var loadData = function(){
        $.ajax({
            type:"POST",
            url:"Users.php"
        }).done(function(data){
            console.log(data);
            var users = JSON.parse(data);
            for(var i in users){
                $("#content").append(users[i].nombre + " " + users[i].apellido + "<br>");
            }
        });
    }
</script>

这就是我在控制台中看到的

<!doctype html>
<html>
<head>
<meta charset="UTF-8">
<title>Untitled Document</title>
</head>

<body>

[{"nombre":"Joelbis","apellido":"Rosas"},{"nombre":"William","apellido":"Mazo"},{"nombre":"Mariana","apellido":"De Barros"},{"nombre":"Daniela","apellido":"Ramirez"}]


</body>
</html>
VM396:1 Uncaught SyntaxError: Unexpected token <(anonymous function) @ userview.php:22l @ jquery.min.js:4c.fireWith @ jquery.min.js:4k @ jquery.min.js:6(anonymous function) @ jquery.min.js:6

我如何避免结果中的html代码?

谢谢。

3 个答案:

答案 0 :(得分:1)

你需要一个只打印出你需要返回的数据的php文件。像这样:

Ajax Call

var loadData = function(){
        $.ajax({
            type:"POST",
            url:"UserData.php"
        }).done(function(data){
            console.log(data);
            var users = JSON.parse(data);
            for(var i in users){
                $("#content").append(users[i].nombre + " " + users[i].apellido + "<br>");
            }
        });
    }

UserData.php

<?php
  $sql = "SELECT nombre, apellido FROM pruebaUsuarios"; $result = mysqli_query($conexion, $sql); 

  $array_user = array(); while($data = mysqli_fetch_assoc($result)){ $array_user[] = $data; } 

  echo json_encode($array_user)
?>

答案 1 :(得分:0)

您的后端脚本必须在die()之后立即停止,使用相同的exit()$elemMatch。否则,它会将您页面的其余部分提供给您的AJAX前端,这正是目前正在发生的事情。

答案 2 :(得分:0)

var loadData = function(){
        $.ajax({
            type:"POST",
            url:"Users.php"
        }).done(function(data){
            console.log(data);
            data = $(data).find('body').html();
            var users = JSON.parse(data);
            for(var i in users){
                $("#content").append(users[i].nombre + " " + users[i].apellido + "<br>");
            }
        });
    }

尝试解析html中的数据