transport.js和jquery冲突问题的解决方法_javascript技巧
程序员文章站
2022-05-05 19:50:18
...
问题原因:/js/transport.js 文件
Object.prototype.toJSONString = function () {**************}
大概 580行到590行之间 这个句用于格式化json,他重写了object的结构,导致于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,”\ ”).replace(/(\r)/g,”\ ”).replace(/(\t)/g,”\ ”)+””"; 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
大概这样就可以了,可能还有些脚步错误需要处理,您自己体会下 , 这只是个解决方法,并不一定适用您的网站。
我注释了下面这一段
/* Object.prototype.toJSONString = function () { …… // Join all of the fragments together and return. a.push(‘}'); return a.join(”); }; */
上一篇: php正则表达式应用之提炼歌词
推荐阅读
-
transport.js和jquery冲突问题的解决方法
-
JQuery的$和其它JS发生冲突的快速解决方法
-
UpdatePanel和Jquery冲突的解决方法
-
【jQuery】关于 jQuery 和 JavaScript 两个入口函数的执行顺序问题
-
搜索提示时jquery的focusout和click事件冲突问题完美解决 搜索提示智能提示focusoutclick事件冲突
-
PowerShell中运行CMD命令的技巧总结(解决名称冲突和特殊字符等问题)
-
transport.js和jquery冲突问题的解决方法
-
基于jquery的高性能td和input切换并可修改内容实现代码_javascript技巧
-
javascript中onmouse事件在div中失效问题的解决方法_javascript技巧
-
火狐下input焦点无法重复获取问题的解决方法_javascript技巧