jQuery+Ajax+js请求json格式数据并渲染到html页面

json格式的数据文件有两种方式
一种是xxx.json文件
一种是xxx.php文件
前者是json格式的文件
后者是输出json格式的文件
前者是本地的文件
后者是获取数据库的数据再输出成json格式的php文件
先说前者
例若有一个json格式的文件
data.jsonphp

[  
    {  
    "id":"001",  
    "title":"百度",  
    "url":"http://www.baidu.com"  
    },  
    {  
    "id":"002",  
    "title":"阿里",  
    "url":"www.alibaba.com"  
    },  
    {  
    "id":"003",  
    "title":"腾讯",  
    "url":"www.qq.com"  
    }  
]

经过ajax.html获取数据html

<!DOCTYPE html>    
<html lang="en">    
<head>    
    <meta charset="UTF-8">    
    <title>ajax请求json数据</title>    
</head>    
<body>    
<div id="test"></div>    
<script src="https://code.jquery.com/jquery-3.0.0.min.js"></script>  
<script>    
    $(function(){    
        $.ajax({    
            //请求方式    
            type:"GET",    
            //文件位置    
            url:"data.json",  
            //返回数据格式为json,也能够是其余格式如    
            dataType: "json",    
            //请求成功后要执行的函数,拼接html    
            success: function(data){    
                var str="<ul>";    
                $.each(data,function(i,n){    
                    str+="<li>"+"ID:"+n.id+"</li>";  
                    str+="<li>"+"标题:"+n.title+"</li>";  
                    str+="<li>"+"地址:"+n.url+"</li>";  
                });    
                str+="</ul>";    
                $("div").append(str);    
            }    
        });    
    });    
</script>    
</body>    
</html>

html页面引入了
<script src="https://code.jquery.com/jquer...;></script>mysql

到这里,经过ajax.html吧data.json数据给渲染到页面了。jquery

下面将如下从数据库获取数据而且渲染到html页面
例如命名为api.php,这个页面主要是查询数据库ajax

<?php  
header("content-type:application/json");  
//获取数据库配置  
require_once("config.php");  
//链接数据库  
$con = mysql_connect($host,$username,$password);  
if (!$con)  
  {  
  die('链接数据库失败,失败缘由:' . mysql_error());  
  }  
//设置数据库字符集    
mysql_query("SET NAMES UTF8");  
//查询数据库  
mysql_select_db($db, $con);  
//获取最新的10条数据  
$result = mysql_query("SELECT id,resname,imgurl,resint,resurl,pageview FROM $restb ORDER BY id DESC LIMIT 0,10");  
$results = array();  
while ($row = mysql_fetch_assoc($result)) {  
$results[] = $row;  
}  
// 将数组转成json格式  
echo json_encode($results);  
// 关闭链接  
mysql_free_result($result);  
mysql_close($link);  
echo $json;  
?>

由于涉及到连接数据库,我把数据库地址、帐号、密码、数据库名、表名都写到了一个config.php里面直接在api.php引入。
config.phpsql

<?php  
//配置文件 - BY TANKING  
//下面是链接数据库主机、用户名、密码、数据库名、表名  
$host="localhost";  
$username="root";  
$password="root";  
$db="list";  
$restb="reslist";  
?>

访问api.php会直接输出前者的json格式数据
因此跟前者同样,只是一个是在数据库获取,一个是在本地获取
咱们要注意这段,api.php必定要声明这是一个json格式的数据,不然没法解析。
header("content-type:application/json");数据库

效果:json

clipboard.png

相关文章
相关标签/搜索