ec2.7.2加入购物车出现JS错误

2016-07-07 15:01 来源:www.chinab4c.com 作者:ecshop专家

网页错误详细信息

用户代理: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; MDDC; Alexa Toolbar; .NET4.0C; .NET4.0E)
时间戳: Tue, 13 Sep 2011 05:14:49 UTC


消息: 例外被抛出且未被接住
行: 409
字符: 9
代码: 0
URI: http://localhost/js/transport.js

回答:
检查下js/common.js和flow.dwt

网上下载下来的,没经过任何修改的!




网上下载下来的,没经过任何修改的!

用firefox调试,终于找出原因,现在分享出来。
错误原因:

[13:38:19.453] uncaught exception: transport.js/parseResult() error: can't parse to JSON.

<br />
<b>Warning</b>:number_format() expects parameter 1 to be double, string given in <b>E:\web\ylier.com\includes\lib_common.php</b> on line <b>959</b><br />
{"error":6,"message":[{"attr_type":"1","name":"\u989c\u8272","attr_id":"185","values":[{"label":"\u7070\u8272","price":"","format_price":"\uffe5\u5143","id":"237"}]}],"content":"","goods_id":"1","parent":0}

原因出在includes\lib_common.php第959行。 $price = number_format($price, 2, '.', '');没有对$price进行判断。
if(!$price){
$price = 0;
}
$price = number_format($price, 2, '.', ''); 这样就可以解决了!

原因出在商品如果添加了属性,且属性价格为0时,出现的错误。

这是一个BUG,我刚开始也遇到了