首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  程序员

电商购物的下单前的费用计算放在前端还是后端?

  •  
  •   shiguiyou · 320 天前 · 6005 次点击
    这是一个创建于 320 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我用京东,美团 app,在下单页面,就是可以增减商品数量购物车页面,每按一次加减,好像都向后台请求了一下数据,断网后加减提示网络错误,也没有给出最新的费用合计。

    所以,这些费用计算都是后台,前台不需要计算只管展示吗?这样会不会给服务器压力呢,每次都请求一下?

    54 回复  |  直到 2018-12-28 11:51:16 +08:00
        1
    freedomshi   320 天前
    放后端更好一点,如果价格不一致导致交易就很麻烦。
        2
    RoyL   320 天前
    价格库存都会变的,怎么能放前台呢...
        3
    binaryify   320 天前
    当然是后端
        4
    tinytin   320 天前
    后端算,或者前后端都算,提交时候后端再验证一遍
        5
    shiguiyou   320 天前
    @freedomshi 后台肯定要计算校验前台的计算,只是不知道前台要不要算,因为 android ios h5 的精度可能不一样,计算有点差距。
        6
    helionzzz   320 天前
    你要是后台都是固定的价格当然可以只用前端计算
        7
    yangehappy   320 天前
    后端算 前端算的可能和后端不一致
        8
    shiguiyou   320 天前
    @RoyL 加减数量请求最重要是为了检查库存?
        9
    airyland   320 天前   ♥ 1
    后端。前端无法处理复杂的计算逻辑,前端可能会被恶意改价格。
    即使出于方便你想在前端做,也一定需要在后端再计算一次进行比较。
    如果计算价格也是压力,那说明做得特别差,基础功能都还没满足。
        10
    keinx   320 天前
    各种优惠促销规则,你在前端算起来超级麻烦,而且还没办法事实判断这个优惠促销是否可用(比如优惠券)
        11
    tabris17   320 天前
    后端,前端无法解决购物车组合优惠这一类的业务逻辑
        12
    DamonLin   320 天前
    肯定是后端
        13
    autoxbc   320 天前 via iPhone
    猴厂前端代码被人扒之类的事出的多了,以后逻辑都得放后端
        14
    demonzoo   320 天前
    肯定后端啊,前端 js 算的话太容易被篡改了好吧
        15
    maplelin   320 天前
    我们是前端后端都算一边,以后端的价格为准
        16
    rcj6056   320 天前
    我都给你说了 放后台计算鸭,每次加减请求就完事了,你们后台很有问题
        17
    also24   320 天前   ♥ 2
    大部分流程中,是存在两个页面的:
    A. 可以增减商品数量购物车页面
    B. 不可增减商品数量的结算页面

    A 页面如果不涉及购物车同步功能,可以考虑纯前端计算,这样用户体验更流畅。
    同时可以考虑对特殊商品(如秒杀,限购)采取特殊策略。

    A 页面如果涉及购物车同步功能,那么后端计算吧,反正同步购物车已经挺卡的了(我的淘宝购物车,反馈极慢,经常出现 “点过头” 的情况)

    B 页面,肯定是后端计算,因为用户无法修改商品,不需要担心延迟和性能问题。
        18
    tianyou666shen   320 天前
    告诉我哪家后端不算的 我现在就去下单 买到你破产
        19
    GentleSadness   320 天前
    @tianyou666shen 京东一开始就是前端,然后改单的人被抓了
        20
    x86   320 天前 via iPhone
    放前端能撸的你怀疑货币单位
        21
    red0range   320 天前
    你在逗我
        22
    yoshiyuki   320 天前
    前端计算,后端校验
        23
    luvxy   320 天前
    @also24 我没做过这类业务,A 页面,实际项目里很多是做一次更改直接发送整个购物车信息过去吗
        24
    JFLW   320 天前
    不应该前后端都算吗?前端自己算,是自己展示费用消耗给用户,后端算是确保数据正确性,每次都去请求,设计不合理吧,只有在付款锁单的时候才去请求吧
        25
    imnpc   320 天前
    阿里云曾经放在前端计算 某些组合会出现 0 元甚至负数订单 后来整体前台 UI 框架全换了 也是后台获取价格
        26
    whileFalse   320 天前
    别老动不动就想着服务器压力。
        27
    qiuyun8m   320 天前
    肯定是后端, 至于前段要不要也计算根据成本和业务的复杂度来考虑.
        28
    conn4575   320 天前 via Android
    不管前端算不算,后端肯定要算的,如果前端可以一直保持和后端计算逻辑一致,前端自己算也是可以的🤣
        29
    jsq2627   320 天前
    后端算
    不是服务器压力和安全问题,纯粹是开发成本原因。商品组合、库存、优惠逻辑复杂,没必要前端再做一遍
        30
    sike03   320 天前 via Android
    前后端都算,前段用于展示,后端用于真正支付。以后端计算为准。
        31
    zw1one   320 天前 via Android
    你前端算了,后端也得算一遍啊。前端的参数做 web 开发的能随便改的。
        32
    ydirel   320 天前
    后端
        33
    liuxey   320 天前
    要我说,在商品页的售价或者打折价都应该是后端推过来的,购物车和订单结算页就更应该是后端计算。
        34
    hasbug   320 天前
    前端做计算展示,后端负责生成真正的付款金额下单。
        35
    V2exUser   320 天前 via Android
    优惠券要检测过期与否,所以像京东这种必须放在后端按服务器时间检测
        36
    Eirxxx69   320 天前
    页面中涉及到价格,库存这些信息展示的都是请求后端的。
        37
    Eirxxx69   320 天前
    请求价格服务,在购物车服务里做计算,这些数据都是实时的,压力肯定是有的,但这些压力的成本小于提交订单和计算商品价格不一致带来的风险成本
        38
    huijiewei   320 天前 via iPhone
    前后端都算

    然后对比是否一致
        39
    JamesR   320 天前
    黑产了解一下,哈哈哈哈。
        40
    sarices   320 天前
    后端算,js 计算有陷阱,要特殊处理
        41
    Ritr   320 天前   ♥ 1
    后端计算
    1、js 浮点数计算有问题,大家都知道
    2、确保数据安全、实时、准确
        42
    xschaoya   320 天前 via Android
    前段吧,程序员重大利好,褥羊毛不是梦
        43
    VitaCoCo   320 天前
    前后端都算,但是在出单的时候以后端数据为准

    前端算的原因是显示速度更快,使用户能获得即时的反馈
        44
    notreami   320 天前
    考虑 2 个场景:
    1、变价前打开页面,变价后下单,如何告知用户价格变了?
    2、码农改改 js,改成 1 分钱,这单能成嘛?
        45
    imn1   320 天前
    任何需要提交的都必须后端校验,这个不用说了吧
    前端做的,应该是不同性质的功能,例如只是报价性质的计算
    良心一点就在当提交价格和后端校验不一致时,发出一个警告信息
        46
    terranboy   319 天前
    前端数据不可信,基本常识
        47
    Hellokids   319 天前 via iPhone
    1. 如果你指的前端包括 app 和网页,那么 app 的用户不升级情况考虑下
    2. 新增优惠活动是否频繁,前端怎么兼容考虑下
    3. 对于一个购物平台,大部分交互都偏向于引导用户购买,平台和服务器压力之间权衡下
    综合上述几个点,考虑下平台的实际情况看一步到位还是慢慢迭代
        48
    reus   319 天前
    当然后端算,后端是一定要算的,前端再算一遍没有意义,如果算法改了,难道前后端都改吗?
        49
    valkyrja   319 天前
    楼上好像大多都不审题,楼主问的是下单前的费用计算……如果简单展示的加减感觉前端做一下计算没有大问题,提交订单的时候以后端结果为准,数量加减的请求可能是在拉库存数量
        50
    luzemin   319 天前
    和表单校验一样,前端的操作为了更好地体验,服务端无论如何都要走一遍的。
        51
    annielong   319 天前
    前台后台都要算,前台计算用于展示,完善用户体验,提交到后台再算一次,是为了数据安全
        52
    nfroot   319 天前
    @sarices
    @Ritr
    其实后端和前端一样有缺陷的,同时……后端和前端应该都可以修正这个缺陷。
        53
    Ritr   319 天前
    @nfroot 前端不安全,通常只做 view 展示,还是后端算吧
        54
    suler   319 天前
    在购物车增减商品,等于就是更新你的购物车,肯定要重新请求的。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3060 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 30ms · UTC 11:06 · PVG 19:06 · LAX 03:06 · JFK 06:06
    ♥ Do have faith in what you're doing.