html中通过JS获取JSON数据并加载的方法


Posted in Javascript onNovember 30, 2017

在写内容逻辑重复性的页面时,用json数据可以显著提高编程效率,并且便于后期的数据维护。因此,在视频专题页面,需要展示多列视频数据,我选择了用json。

HTML如下(只展示重点部分,需要引用JQ)

<div class="container-fluid content ">
    <div class="container neirong">
      <div class="left fl">
        <div class="title">
          热门视频
        </div>
        <div class="medialist">
        </div>
      </div></div>
</div>

JS如下

<script>
    $(document).ready(function(){
      
      console.log(1111)
      
          $.getJSON('data.json',function(data){
            
            console.log(222)
            
            
            
          var mediahtml="";
          
          $.each(data,function(i,data) {
            
        
        
          mediahtml+='<div class="media">'+
          '<div class="media-left">'+
          '<a data-toggle="modal" data-target="#myModal">'+
          '<img class="media-object" src="'+data["imgsrc"]+
          '" alt="">'+
            '</a>'+'</div>'+
            '<div class="media-body">'+
            '<div class="title">'+
              '<span class="classify">'+
                data["classify"]+
              '</span>'+
              '<span class="titlename media-heading">'+
                data['titlename']+
              '</span>'+
            '</div>'+
            '<span class="time">'+
              '<span class="glyphicon glyphicon-time"></span> '+
              '<span>'+data['pubdate']+'</span>'+
            '<p>'+data["intro"]+'</p>'+
            '<div class="guest">'+
              '<span class="jia">嘉</span>'+
              '<span class="name">'+data["name"]+'</span>'+
              '<span class="position">'+data["position"]+'</span>'+
              '<span class="glyphicon glyphicon-eye-open"></span>'+
              '<span class="click-rite"></span>'+
            '</div>'+
          '</div>'+
            
          '<div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">'+
            '<div class="modal-dialog" role="document">'+
              '<div class="modal-content">'+
                '<div class="modal-header">'+
                  '<button type="button" class="close" data-dismiss="modal" aria-label="Close">'+
                    '<span aria-hidden="true">×</span>'+
                  '</button>'+
                '</div>'+
                '<div class="modal-body"></div>'+
            '</div>'+
          '</div>'+
          '</div>'

            
            
            
//          var url_mobi=data.url_mobi;
//          var url_pc=data.url_pc;
//          if ((navigator.userAgent.match(/(iPhone|iPod|Android|ios|iOS|iPad|Backerry|WebOS|Symbian|Windows Phone|Phone)/i))) {
//              $('.modal-body').prepend(url_mobi);
//              }else{
//              $('.modal-body').prepend(url_pc);
//              }
//              
//              
              })
          
          $('.medialist').after(mediahtml);  
          
          
        })
          
          
        })
        


        $('#myModal').on('shown.bs.modal', function (e) {
          // 关键代码,如没将modal设置为 block,则$modala_dialog.height() 为零 
          $(this).css('display', 'block');
          var modalHeight = $(window).height() / 2 - $('#myModal .modal-dialog').height() / 2;
          $(this).find('.modal-dialog').css({
            'margin-top': modalHeight
          });
        });


        //点击预览图时判断
//        $('.modal').on('click', function () {
//          if ($('#myModal').css("display") == "none") {
//            $('.modal-body').children('iframe').attr('src', '');
//          } else {
//            $('.modal-body').children('iframe').attr('src',
//              'https://v.qq.com/iframe/player.html?vid=v0508nqkm75&tiny=0&auto=0');
//          }
//        })
    
  </script>

注释部分可不看,不影响内容。

首先要新建json文件,json文件需注意的问题是:json对数据格式有要求,不识别url中的各类符号,因此会提示错误,如果不修复,则会阻断JS进程,造成数据在页面不显示,这个问题我找了好久才发现,而且json问题在js中不会报错。解决办法是利用encode方法,格式化url,然后再添加进json即可,在html中应该还要用decode转回来。

第二个坑是插入html到某个标签中,有四个方法,用after就可以实现,不要用反了。

第三点是需要注意,不要在拼接字符串的时候忘掉加号,少一个就会出问题,一个小问题会找好久才发现,而且拼接错误JS不会报错,很难发现。

以上就是获取JSON数据并加载的方法。

Javascript 相关文章推荐
javascript demo 基本技巧
Dec 18 Javascript
谈谈关于JavaScript 中的 MVC 模式
Apr 11 Javascript
javascript无刷新评论实现方法
May 13 Javascript
基于JQuery的$.ajax方法进行异步请求导致页面闪烁的解决办法
May 10 Javascript
jquery  实现轮播图详解及实例代码
Oct 12 Javascript
js中toString()和String()区别详解
Mar 23 Javascript
Angular directive递归实现目录树结构代码实例
May 05 Javascript
JavaScript正则表达式的贪婪匹配和非贪婪匹配
Sep 05 Javascript
Vue2.0父组件与子组件之间的事件发射与接收实例代码
Sep 19 Javascript
vue favicon设置以及动态修改favicon的方法
Dec 21 Javascript
vue路由守卫,限制前端页面访问权限的例子
Nov 11 Javascript
Element Input输入框的使用方法
Jul 26 Javascript
微信小程序中吸底按钮适配iPhone X方案
Nov 29 #Javascript
jQuery zTree 异步加载添加子节点重复问题
Nov 29 #jQuery
写给小白看的JavaScript异步
Nov 29 #Javascript
3种vue组件的书写形式
Nov 29 #Javascript
easyui下拉框动态级联加载的示例代码
Nov 29 #Javascript
纯js实现隔行变色效果
Nov 29 #Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 #Javascript
You might like
PHP自动生成月历代码
2006/10/09 PHP
PHP 根据key 给二维数组分组
2016/12/09 PHP
php7下的filesize函数
2019/09/30 PHP
javascript之对系统的toFixed()方法的修正
2007/05/08 Javascript
MooTools 1.2介绍
2009/09/14 Javascript
解决iframe的frameborder在chrome/ff/ie下的差异
2010/08/12 Javascript
CheckBoxList多选样式jquery、C#获取选择项
2013/09/06 Javascript
制作jquery遮罩层效果导航菜单代码分享
2013/12/25 Javascript
Javasipt:操作radio标签详解
2013/12/30 Javascript
9个让JavaScript调试更简单的Console命令
2016/11/14 Javascript
Node.js使用NodeMailer发送邮件实例代码
2017/03/06 Javascript
vue-router实现webApp切换页面动画效果代码
2017/05/25 Javascript
Angular实现下载安装包的功能代码分享
2017/09/05 Javascript
ES6的异步终极解决方案分享
2019/07/11 Javascript
vue实践---根据不同环境,自动转换请求的url地址操作
2020/09/21 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
python文件与目录操作实例详解
2016/02/22 Python
使用python实现个性化词云的方法
2017/06/16 Python
Python实现爬虫抓取与读写、追加到excel文件操作示例
2018/06/27 Python
Python基于Opencv来快速实现人脸识别过程详解(完整版)
2019/07/11 Python
django重新生成数据库中的某张表方法
2019/08/28 Python
Django 自动生成api接口文档教程
2019/11/19 Python
使用pyshp包进行shapefile文件修改的例子
2019/12/06 Python
Python requests模块session代码实例
2020/04/14 Python
沙龙级头发造型工具:FOXYBAE
2018/07/01 全球购物
美国手工艺品市场的领导者:Annie’s
2019/04/04 全球购物
连锁经营管理专业大学生求职信
2013/10/30 职场文书
中学家长会邀请函
2014/02/03 职场文书
CAD制图人员的自荐信
2014/02/07 职场文书
人民教师求职自荐信
2014/03/12 职场文书
优秀研究生主要事迹
2014/06/03 职场文书
资源环境与城乡规划管理专业自荐书
2014/09/26 职场文书
中学生检讨书1000字
2014/10/28 职场文书
长城的导游词
2015/01/30 职场文书
大学学生会辞职信
2015/05/13 职场文书
合作合同协议书
2016/03/21 职场文书