在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 問答/HTML5  HTML/ H5商城項(xiàng)目里關(guān)于價格運(yùn)算是由前端來做還是后端來做?

H5商城項(xiàng)目里關(guān)于價格運(yùn)算是由前端來做還是后端來做?

公眾號里的h5商城項(xiàng)目,比如買下選擇了三個糖果,點(diǎn)立即購買跳到結(jié)算頁,結(jié)算頁有個“合計”多少錢,像這種運(yùn)算都是把商品價格和數(shù)量傳給后端再從后端拿到,還是前端自己算出來?不過js浮點(diǎn)運(yùn)算有精度問題,是都交給后端來算吧?

回答
編輯回答
遺莣

此類業(yè)務(wù),一般要求前后端都要進(jìn)行計算的!
理由:

前端計算價格用于快速顯示,提高用戶體驗(yàn),并減少服務(wù)端壓力。

比如有些需要動態(tài)計算價格的業(yè)務(wù),此類業(yè)務(wù)前端一般是onchange事件,根據(jù)輸入不同,價格不同。如果前端依賴后端計算出來的價格,需要頻繁的請求接口,那服務(wù)端的壓力就會變得很大,同樣的頁面上價格顯示會有短暫延遲!不過您也可以選擇將onchange事件改為onblur失去焦點(diǎn)事件,這樣確實(shí)可以變向的減輕服務(wù)端壓力,但這樣體驗(yàn)又不好!因此前端很有必要計算價格!

后端計算價格用于安全把控。

如果僅僅前端計算價格,完完全全可以劫持?jǐn)?shù)據(jù)請求更改價格,到時候就有可能出現(xiàn)1分錢買100塊錢的物品!

2017年11月8日 14:33
編輯回答
病癮

其實(shí)這個問題根本就不用問,因?yàn)楸仨毢蠖怂?。并且過程是這樣的 。
1、后臺加載訂單或者商品,這里訂單的總價可以是前端算,但是注意精度。
2、當(dāng)有代金券或者優(yōu)惠券等減少金額的也可以在前端算 。但是只是提供展示。
3、訂單提交,把訂單中的商品信息帶過去,包括訂單金額、優(yōu)惠券之類都提交過去。
4、后端接到信息后,應(yīng)該根據(jù)訂單中有的商品,重新查數(shù)據(jù)庫得到準(zhǔn)確的價格,重新計算然后如果有代金券要校驗(yàn)代金券的真實(shí)性和有效性,然后再計算總價。這個總價是有意義的,決定著最后支付的金額多少。
5、有人肯定會問、那前端的總金額提交后臺有什么用?可以做一個對比,如果計算的結(jié)果和前端的總價有區(qū)別,那證明這個訂單有問題 。要么是頁面沒刷新,導(dǎo)致商品價格、代金券之類有偏差,可以直接返回到對應(yīng)的提示頁面,告訴用戶刷新重新提交訂單。另外有可能信息被篡改,那同樣的處理,如果是0.01這種,需要記錄日志做對應(yīng)的處理懲罰或者預(yù)防 。

手機(jī)打字不容易,有幫助請采納和點(diǎn)贊。?

2018年7月17日 19:56
編輯回答
愚念

初始時,后端返給前端商品單價,前端根據(jù)所購數(shù)量計算總價=單價*數(shù)量,然后提交給后端。

2018年2月2日 19:25
編輯回答
眼雜

后端算的。
前端不能算不是因?yàn)榫?,而是因?yàn)樽罱K價格通常會受其它因素影響,比如折扣規(guī)則,滿減規(guī)則等,前端算是不劃算的。

2018年6月7日 09:23
編輯回答
笑忘初

因?yàn)闋砍兜藉X的問題,可以前端進(jìn)行計算,之后將計算結(jié)果和數(shù)量及商品等信息傳給后端進(jìn)行二次驗(yàn)證,前端精度不夠的話,以后端返回數(shù)據(jù)為準(zhǔn)。

2018年3月29日 17:42
編輯回答
兮顏

展示的價格由前端來算,實(shí)際訂單價格由后臺生成。
因?yàn)榍岸耸遣话踩模瑪?shù)據(jù)是可以被變更的,所以價格必須后臺算,也就是說,前端計算的價格,只是給用戶看的,實(shí)際價格,是后臺生成的。所以就產(chǎn)生了另外一個問題,前后端計算價格一致的問題,當(dāng)然如果后臺兄弟夠好的話,也可以給前端開一個接口,專門用來給前端計算價格而不生成訂單數(shù)據(jù),這就要取決于和后臺的情感了,畢竟這不是后臺必須做的事情。
以前也發(fā)生過前端計算價格傳給后臺,然后數(shù)據(jù)被有心人攔截,價格全部改為0.01元,而正常的購買商品的案列,為了安全,現(xiàn)在后臺是不會使用前端的計算價格的,其他數(shù)據(jù)也是一樣的道理,涉及到安全性的,都應(yīng)該后臺來做。

2018年9月16日 10:08
編輯回答
離夢

我問了下我們公司同事,結(jié)果一般是由后臺計算的

2017年1月17日 01:19
編輯回答
愿如初

涉及錢的事情,前后端都要計算
前端計算主要是為了快速響應(yīng),提升用戶體驗(yàn)
后端計算是為了訂單時確定
這就好比JD之類,一般瀏覽購物車時的計算是客戶端計算,但正式訂單付錢時是后端計算確認(rèn)的。
特別有促銷行為計算規(guī)則,涉及用卷、用折扣卡之類,必須后端確認(rèn)用戶是否有這些東西啊。

2017年6月17日 16:17
編輯回答
深記你

涉及錢的話,一般以分為單位,例如5元就是500,這樣不會出現(xiàn)小數(shù),就不會出現(xiàn)浮點(diǎn)誤差。
但是后端也要計算價格,前端只是給客戶看的,隨時都可以直接改請求發(fā)個不用錢,所以后端要驗(yàn)證實(shí)際的價格。

2018年2月17日 07:27