Posted in Javascript onFebruary 10, 2014
在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请求:
利用js读取动态网站从服务器端返回的数据
声明:登载此文出于传递更多信息之目的,并不意味着赞同其观点或证实其描述。
Reply on: @reply_date@
@reply_contents@