源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

transport.js和jquery冲突问题的解决方法

  • 时间:2020-04-17 15:51 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:transport.js和jquery冲突问题的解决方法
问题原因:/js/transport.js 文件 Object.prototype.toJSONString = function () {**************} 大概 580行到590行之间 这个句用于格式化json,他重写了object的结构,导致于js框架冲突,如果要解决需要把这段代码注释掉,然后用别的方式替换。 我是将所有用到*.toJSONString的地方,替换成一个函数,例如: /js/common.js 29行 Ajax.call(‘flow.php?step=add_to_cart', ‘goods=' + goods.toJSONString, addToCartResponse, ‘POST', ‘JSON'); 替换成: Ajax.call(‘flow.php?step=add_to_cart', ‘goods=' + obj2str(goods), addToCartResponse, ‘POST', ‘JSON'); obj2str函数如下:
function obj2str(o){
var r = [];
if(typeof o ==”string”) return “\”"+o.replace(/([\'\"\\])/g,”\\$1″).replace(/(\n)/g,”\\n”).replace(/(\r)/g,”\\r”).replace(/(\t)/g,”\\t”)+”\”";
if(typeof o ==”undefined”) return “undefined”;
if(typeof o == “object”){
if(o===null) return “null”;
else if(!o.sort){
for(var i in o)
r.push(“\”"+i+”\”"+”:”+obj2str(o[i]))
r=”{“+r.join()+”}”
}else{
for(var i =0;i<o.length;i++)
r.push(obj2str(o[i]))
r=”["+r.join()+"]”
}
return r;
}
return o.toString();
}
大概这样就可以了,可能还有些脚步错误需要处理,您自己体会下 , 这只是个解决方法,并不一定适用您的网站。 我注释了下面这一段
/*
Object.prototype.toJSONString = function () {
……
// Join all of the fragments together and return.

a.push(‘}');
return a.join(”);
};
*/
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部