众所周知:ecshop的transport.js文件和Jquery是冲突的,两个文件不能同时调用,现给出以下完美解决方案:
1. 在transport.js文件中,大概 580行到590行之间,这个句用于格式化json,他重写了object的结构,导致于js框架冲突,如果要解决需要把这段代码注释掉,然后用别的方式替换。具体原因请参考http://sites.google.com/site/ecshopdevelop/ajax/ecshop-and-jquery
2. 去掉了json功能,那jquery 有没有这种对字符串或对象的功能,下一步就是找一个和jquery不冲突的json代码,我在http://code.google.com/p/jquery-json/ 发现了这个文件。
3. 原用到json的地方,用 jquery-json 实现就好了,比如用户评论这里:
Ajax.call(‘comment.php’, ‘cmt=’ + cmt.toJSONString(), commentResponse, ‘POST’, ‘JSON’);
只要替换成
Ajax.call(‘comment.php’, ‘cmt=’ + $.toJSON(cmt), commentResponse, ‘POST’, ‘JSON’);
就可以了。
4. 大家尽情享用jquery的强大功能吧。