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框架Ajax常用选项
Jul 08 jQuery
jQuery实现输入框的放大和缩小功能示例
Jul 21 jQuery
jQuery实现图片简单轮播功能示例
Aug 13 jQuery
详解JQuery基础动画操作
Apr 12 jQuery
jquery图片预览插件实现方法详解
Jul 18 jQuery
js判断复选框是否选中的方法示例【基于jQuery】
Oct 10 jQuery
jQuery使用ajax传递json对象到服务端及contentType的用法示例
Mar 12 jQuery
jquery实现手风琴案例
May 04 jQuery
jQuery实现飞机大战小游戏
Jul 05 jQuery
jQuery 动态粒子效果示例代码
Jul 07 jQuery
jquery实现拖拽添加元素功能
Dec 01 jQuery
jquery插件实现图片悬浮
Apr 16 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
dede3.1分页文字采集过滤规则详说(图文教程)续二
2007/04/03 PHP
PHP程序员常见的40个陋习,你中了几个?
2014/11/20 PHP
PHP类型约束用法示例
2016/09/28 PHP
php运行报错Call to undefined function curl_init()的最新解决方法
2016/11/20 PHP
常用PHP封装分页工具类
2017/01/14 PHP
php检查函数必传参数是否存在的实例详解
2017/08/28 PHP
PHP simplexml_import_dom()函数讲解
2019/02/03 PHP
javascript下给元素添加事件的方法与代码
2007/08/13 Javascript
jQuery 学习第五课 Ajax 使用说明
2010/05/17 Javascript
复制Input内容的js代码_支持所有浏览器,修正了Firefox3.5以上的问题
2010/06/21 Javascript
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
js判断生效时间不得大于失效时间的思路及代码
2013/04/23 Javascript
往光标所在位置插入值的js代码
2013/09/22 Javascript
JS弹出层的显示与隐藏示例代码
2013/12/27 Javascript
js 日期比较相关天数代码
2014/04/02 Javascript
js跨域访问示例(客户端/服务端)
2014/05/19 Javascript
JS及PHP代码编写八大排序算法
2016/07/12 Javascript
AngularJS创建自定义指令的方法详解
2016/11/03 Javascript
如何换个角度使用VUE过滤器详解
2019/09/11 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
js实现前端界面导航栏下拉列表
2020/08/27 Javascript
python针对不定分隔符切割提取字符串的方法
2018/10/26 Python
在python中使用xlrd获取合并单元格的方法
2018/12/26 Python
python之信息加密题目详解
2019/06/26 Python
Python检测端口IP字符串是否合法
2020/06/05 Python
HTML5中5个简单实用的API
2014/04/28 HTML / CSS
英国舒适型鞋履品牌:FitFlop
2017/05/17 全球购物
京东奢侈品:全球奢侈品牌
2018/03/17 全球购物
消防先进事迹材料
2014/02/10 职场文书
汽车专业求职信
2014/06/05 职场文书
学校端午节活动方案
2014/08/23 职场文书
2016党员学习《反对自由主义》心得体会
2016/01/22 职场文书
2016年党员创先争优承诺书
2016/03/25 职场文书
2019年怎样写好导游词?
2019/07/02 职场文书
高性能跳频抗干扰宽带自组网电台
2022/02/18 无线电
业余无线电通联Q语
2022/02/18 无线电