美文网首页
AJAX请求 JSON数据并实现本地缓存

AJAX请求 JSON数据并实现本地缓存

作者: 赵碧菡 | 来源:发表于2017-09-16 11:06 被阅读0次

本文主要介绍通过ajax请求json数据,并实现数据的本地存储,以下面的实例为例,并实现以下功能:

  • 点击新闻列表某一条新闻,跳转到新闻详情页并显示对应的新闻内容。
  • 点击上一页、下一页切换文章内容

效果图


新闻列表.png
新闻详情.png

技术方面

  • 把需要的数据都存在了json文件里,通过Ajax来获取JSON数据。
  • 对获取的json数据的处理,序列化和反序列化。
  • 使用 localStorage实现数据的本地缓存。
  • 通过window.location.search来获取两个html页面间的参数的传递。
  • 通过点击事件来实现上一页和下一页的切换,并通过
  • window.location.assign()来改变url。

js代码

var url=window.location.search;
    var id=url.match(/\d*$/);
    var obj={};     // 用来存放数据
    /*缓存 先判断本地是否有缓存*/
    if(localStorage.getItem('data')==null ||localStorage.getItem('data')=='undefined'){
        $.ajax({
            type:"post",
            url:"json/data.json",
            success:function(data){
                //序列化转化成json字符串
                localStorage.setItem('data',JSON.stringify(data));
                showData(); 
              }
          })
    }else{
        showData();

    }
    
    function showData(){
        var storage=localStorage.getItem('data');
            //反序列化 将字符串转化成json对象
        var jsonData=JSON.parse(storage)['data'];
        for(var i=0;i<jsonData.length;i++){
            if(jsonData[i].id==id){
                obj=jsonData[i];
            }
        }

       $(".detail-title h1").html(obj.title);     // 修改文章内容
       $(".detail-content").html(obj.content);

       // 上一页 下一页
       $(".detail-foot-left").on("click",function(){
           if(id>1){
               --id;
               showData();
               window.location.assign("details.html?id="+id);
               window.scrollTo(0,0);
           }
       })
       $(".detail-foot-right").on("click",function(){
           if(id<jsonData.length){
               ++id;
               showData();
               window.location.assign("details.html?id="+id);
               window.scrollTo(0,0);
           }
       })
    }

相关文章

  • AJAX请求 JSON数据并实现本地缓存

    本文主要介绍通过ajax请求json数据,并实现数据的本地存储,以下面的实例为例,并实现以下功能: 点击新闻列表某...

  • 从后台获取的数据如何动态的添加进下拉框里?

    首先现在本地写一个json文件,如下: 然后页面效果如下: 进行ajax数据请求获取json数据:JSON.par...

  • ajax

    Ajax 1 - 请求纯文本 Ajax 2 - 请求JSON数据 Ajax 3 - 请求Github接口 Ajax...

  • SSM框架的(CRUD)_查询_构建员工列表11

    1、重新改造index.jsp页面,通过发送ajax请求返回json格式数据信息并解析json数据渲染页面。

  • Vue.js 读取json

    Vue.js 读取json 这里使用两种方法获取json 并讲数据显示到页面上 使用 ajax 请求到json数据...

  • ajax与jsonp、jsonp

    轮播图 json 数据格式 ajax与jsonp ajax是获取数据的 get请求 post请求 url:"js/...

  • 分享一些好的GitHub开源库

    网络请求和本地缓存-HttpRequest 备注: 使用YYCache缓存数据 网络请求和本地缓存.png SDK...

  • ajax请求JSON数据并解析

    通常,从后台拿到的时JSON字符串。所以用JSON.parse来转为JSON对象,不建议使用eval()函数,因为...

  • ajax基本操作

    AJAX AJAX:通过JS异步地向服务器发送请求并接受响应数据,响应数据的格式原来是xml,后来被JSON替代了...

  • js 数组对象去重问题

    1、问题阐述 在做列表数据的时候,本地缓存数据数组,在请求到新数据以后需要添加到本地缓存中并显示到列表,其中比...

网友评论

      本文标题:AJAX请求 JSON数据并实现本地缓存

      本文链接:https://www.haomeiwen.com/subject/gmyysxtx.html