javascript - 商品详情页是怎么生成的?
PHPz
PHPz 2017-04-11 10:22:05
[JavaScript讨论组]

在商品列表中点击一个商品就跳转到这个商品的商品详情页,那这个商品详情页布局全都一样,内容不同,这是怎么做到的?不能是一个一个收工排的页面吧?

PHPz
PHPz

学习是最好的投资!

全部回复(5)
PHPz

这是动态页面技术实现的,后端使用PHP或者JAVA输出的HTML页面

天蓬老师

标签一样 数据跟后台要

伊谢尔伦
item.jd.com/10127317515.html
这是随便点开的一个页面。 只要你访问的地址为 item.jd.com/"itemId" ,返回的就是对应这个商品的页面。
黄舟

一种是用模板引擎,第二就是用vue.js,或者angular.js
这种框架,建议用vue,方便些,数据是ajax,返回data

迷茫

个人理解,有两种形式:

1.从后端开发的角度来看,一般来说,某个商品详情页后端代码一般是这样的

// Action (C)
public class Product{

    //商品详情页方法
    function item($pid){
         ....
         $["data"] = ....     //data数据一般根据$pid在此处从数据库中拿到。
         return "/xxx.jsp";   //返回某个页面
    }
}

//View (v)
如果是java的话一般jsp,freemarker,volicity模板
php的话就是smarty模板
node的话就是 jade等

模板的原理都是一样的,把公共的部分提取出来,不同的地方用标签代替。比如

<% if(xxx == xxx)  %>
   <p class="xxx">{{title}}</p>
<% else if(xxx !=xxx) %>
   <p class="xxx">{{sex2}}</p>
<% else  %>

后端返回的内容直接用模板渲染出来,由于pid(商品id)不同,所以可以看到不同的商品详情页的内容都不同,而实际上用的都是同一套模板,只是返回的数据不同而已。

2.从前端的角度,原理也差不多

后端并不直接返回某个页面,而是根据pid提供其对应的数据,通过ajax返回给前端,然后前端拿到数据以后填充前端模板进行渲染,打开不同的url(xxx.com/item/pid=1001)不同的pid的数据不同,所以渲染的页面不同。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号