jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法


Posted in jQuery onJuly 12, 2017

效果:

jQuery+Ajax请求本地数据加载商品列表页并跳转详情页的实现方法

json文件:

{
 "books":[
  {"id":1,"imgUrl":"images/ly.jpg","price":"45.00","title":"论语","publish":"人民文学出版社","num":"303","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"},
  {"id":2,"imgUrl":"images/zy.jpg","price":"45.00","title":"中庸","publish":"人民教育出版社","num":"403","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"},
  {"id":3,"imgUrl":"images/dx.png","price":"45.00","title":"大学","publish":"机械工业出版社","num":"503","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"},
  {"id":4,"imgUrl":"images/mz.jpg","price":"45.00","title":"孟子","publish":"人民邮电出版社","num":"320","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"},
  {"id":5,"imgUrl":"images/sj.jpg","price":"45.00","title":"诗经","publish":"人民文学出版社","num":"308","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"},
  {"id":6,"imgUrl":"images/ss.jpg","price":"45.00","title":"尚书","publish":"人民文学出版社","num":"603","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"},
  {"id":7,"imgUrl":"images/lj.jpg","price":"45.00","title":"礼记","publish":"上海人民出版社","num":"703","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"},
  {"id":8,"imgUrl":"images/yj.jpg","price":"45.00","title":"易经","publish":"人民文学出版社","num":"803","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"},
  {"id":9,"imgUrl":"images/cq.jpg","price":"45.00","title":"春秋","publish":"电子工业出版社","num":"903","desc":"崇贤馆始置唐代太宗朝。1999年,李克先生及志同道合者复兴其宗旨。以积累、传播中华优秀传统文化,提供全新国学体验馆为宏愿。"} 
 ]
}

商品列表页goodsList.js:

//请求json数据拼接字符串,并在URL传参数id跳转
$(function(){
 $.ajax({
  type:"get",
  url:"data/data.json",
  dataType:"json",
  success:function(res){
   var str = "<ul class='con_ul'>";
   $.each(res.books, function(idx,val) {
    str +="<li class=\"sec_li\"><a href='goodsDetail.html?booksId="+val.id+"' class='lp_li_a'><div class='lp_li_imgWrap'><img src='"+val.imgUrl+"'/></div><p class='lp_li_name'>"
      +val.title+"</p><p class='lp_li_price'>"
      +'¥'+val.price+"</p></a><li>";
   });
   str += "</ul>";
   $('.content').append(str);
  },error:function(){
   alert(error)
  }
 });
})

商品详情页goodsDetail.js:

$(function(){
  //获取url中的参数
  function getUrlParam(name) {
   var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)"); //构造一个含有目标参数的正则表达式对象
   var r = window.location.search.substr(1).match(reg); //匹配目标参数
   if (r != null) return unescape(r[2]); return null; //返回参数值
  }
  //接收URL中的参数booksId
  var id = getUrlParam('booksId');
  console.log('id:'+id);
  $.ajax({
  type:'get',
  url:'data/data.json',
  dataType:'json',
  success:function(res,status){
   console.log(status)
   $.each(res.books, function(idx,val) {
    //根据id获取详情数据
    if(id == val.id){
     var str = "<img src='"+val.imgUrl+"'/><p>出版编号:"+val.id+"</p><p>出版社:"+val.publish+"</p><p>页数:"+val.num+"</p><p>简介:"+val.desc+"</p>";
     console.log('index:'+idx);
    }
    $('.booksDeatail').append(str);
   });
  }
  })
})

以上所述是小编给大家介绍的jQuery+Ajax请求本地数据加载商品列表页并跳转详情页,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

jQuery 相关文章推荐
jQuery中map函数的两种方式
Apr 07 jQuery
jQuery列表检索功能实现代码
Jul 17 jQuery
jQuery DOM节点的遍历方法小结
Aug 15 jQuery
jQuery实现每隔一段时间自动更换样式的方法分析
May 03 jQuery
菊花转动的jquery加载动画效果
Aug 19 jQuery
jQuery实现的响应鼠标移动方向插件用法示例【附源码下载】
Aug 28 jQuery
jquery无缝图片轮播组件封装
Nov 25 jQuery
浅谈JS和jQuery的区别
Mar 27 jQuery
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
Apr 28 jQuery
基于jQuery的时间戳与日期间的转化
Jun 21 jQuery
jquery实现弹窗(系统提示框)效果
Dec 10 jQuery
jquery将信息遍历到界面上实例代码
Jan 21 jQuery
jQuery 循环遍历改变a标签的href(实例讲解)
Jul 12 #jQuery
jQuery实现节点的追加、替换、删除、复制功能示例
Jul 11 #jQuery
使用jQuery实现动态添加小广告
Jul 11 #jQuery
jquery.validate.js 多个相同name的处理方式
Jul 10 #jQuery
jQuery实现html table行Tr的复制、删除、计算功能
Jul 10 #jQuery
jQuery实现QQ空间汉字转拼音功能示例
Jul 10 #jQuery
基于jQuery Easyui实现登陆框界面
Jul 10 #jQuery
You might like
基于PHP CURL用法的深入分析
2013/06/09 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
2020/03/24 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
2020/05/27 PHP
TNC vs BOOM BO3 第二场2.13
2021/03/10 DOTA
基于mootools 1.3框架下的图片滑动效果代码
2011/04/22 Javascript
Ajax同步与异步传输的示例代码
2013/11/21 Javascript
js简单实现根据身份证号码识别性别年龄生日
2013/11/29 Javascript
js查找某元素中的所有图片地址的方法
2014/01/16 Javascript
javascript不同类型数据之间的运算的转换方法
2014/02/13 Javascript
JavaScript表单通过正则表达式验证电话号码
2014/03/14 Javascript
javascript内置对象操作详解
2015/02/04 Javascript
js实现可得到不同颜色值的颜色选择器实例
2015/02/28 Javascript
学习JavaScript正则表达式
2015/11/13 Javascript
DOM操作原生js 的bug,使用jQuery 可以消除的解决方法
2016/09/04 Javascript
NodeJs下的测试框架Mocha的简单介绍
2017/02/22 NodeJs
JS中Swiper的使用和轮播图效果
2017/08/11 Javascript
JS中Attr的用法详解
2017/10/09 Javascript
如何使用JavaScript检测空闲的浏览器选项卡
2020/05/28 Javascript
Node.js中的异步生成器与异步迭代详解
2021/01/31 Javascript
Python中的复制操作及copy模块中的浅拷贝与深拷贝方法
2016/07/02 Python
获取Django项目的全部url方法详解
2017/10/26 Python
python: line=f.readlines()消除line中\n的方法
2018/03/19 Python
解决Python内层for循环如何break出外层的循环的问题
2019/06/24 Python
python网络爬虫 Scrapy中selenium用法详解
2019/09/28 Python
python json.dumps中文乱码问题解决
2020/04/01 Python
Python如何爬取qq音乐歌词到本地
2020/06/01 Python
python爬虫scrapy框架的梨视频案例解析
2021/02/20 Python
selenium+python自动化78-autoit参数化与批量上传功能的实现
2021/03/04 Python
豆腐の盛田屋官网:日本自然派的豆乳面膜、肥皂、化妆水、乳液等
2016/10/08 全球购物
日本最大的眼镜购物网站:Oh My Glasses
2016/11/13 全球购物
干部鉴定材料
2014/05/18 职场文书
运动会广播稿100字
2015/08/19 职场文书
保险公司增员口号
2015/12/25 职场文书
linux下安装redis图文详细步骤
2021/12/04 Redis
MySQL索引 高效获取数据的数据结构
2022/05/02 MySQL
Python find()、rfind()方法及作用
2022/12/24 Python