在html中利用js读取动态网站从服务器端返回的数据进行显示
1、js.html 页面
需要引入 执行jquery的js文件
复制代码 代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script src="jquery-1.8.2.min.js"></script>
<script>
$(function(){
//$("#loaddata").click(function(){
$(document).ready(function(){
//使用getJSON方法读取json数据,
//注意:info.json可以是不同类型文件,只要其中的数据为json类型即可
$.getJSON('info.json',function(data){
var html = '';
$.each(data,function(i,item){
html += '<tr><td>'+item['name']+'</td>'+
'<td>'+item['sex']+'</td>'+
'<td>'+item.address+'</td>'+
'<td>'+item['home']+'</td></tr>';
});
$('#title').after(html);
//after方法:在每个匹配的元素之后插入内容。
});
});
});
//注:可以是item.address,也可以是item['address']
//firefox报 json文件中 “语法错误 [”,单能加载数据
//ie chrome 无法加载数据
</script>
</HEAD>
<input type="button" value="加载数据" id="loaddata" />
<BODY>
<table id="infotable" >
<tr id="title"><th>姓名</th><th>性别</th><th>地址</th><th>主页</th></tr>
</table>
</BODY>
</HTML>
info.json文件
复制代码 代码如下:
[
{
"name":"zhangsan",
"sex":"man",
"address":"hangzhou",
"home":"http://www.zhangsan.com"
},
{
"name":"lisi",
"sex":"wumen",
"address":"beijing",
"home":"http://www.lisi.coms"
}
]
应用场景 :
定期从数据库中读取的特定记录放到静态页面上去展示,为了减少对数据库访问的压力,把特定记录数取出来存放在json中,页面访问链接不用实时请求数据库。
至此可以将json中的内容加载到html静态也中去。
显示不了中文的确是编码问题,默认保存的json肯定是个记事本,然后改后缀名为json的,记事本默认编码是ANSI的 显示中文自然有问题,
解决方法:打开.json文件 文件 - 另存为 看到下面编码格式了吧 选择UTF-8 就可以了。
这里还有个容易出错的地方:
请求json文件报405错误,明明路径对的 但是还是报错。
解决方法:修改请求方式为get请求: