漫談JQUERY和JSON沖突進行學習研究
本文介紹JQUERY和JSON沖突的使用問題介紹說明(使用Ruby on rails框架進行講解,因為它所有的配置文件都是使用的YAML)以及它與XML和JSON的區(qū)別,***討論了YAML的優(yōu)勢和缺點。
引入之后,發(fā)現(xiàn)某些方法用不了,報錯,怪異,逐步的排查,折騰了一下午,終于發(fā)現(xiàn)公司的框架里引入了json.js,看了json.js的源碼,刪掉之后,功能正常,網(wǎng)上搜搜這些,發(fā)現(xiàn)遇到這種問題的人不在少數(shù),解決方法大致如下:#T#
1.有說調(diào)整js加載先后順序的
2.還有直接使用Jquery的專用JSON.js
但是這兩種方案不適于我,因為是公司框架封裝起來的東西,不能改動。我用的是下面的方法變通的解決辦法就是仿照下面的解決方法做的:在js代碼里加上這么一句
delete(Object.prototype.toJSONString);,問題解決。我測試成功,暫時沒有發(fā)現(xiàn)問題。PS:沒見過這種在頁面直接就能調(diào)用delete(Object.prototype)的方法,有時間還是要好好研究一下js面向?qū)ο蟮臇|西。
- Martin Cooper
- // after json.js has loaded...
- > // define a namespace to minimize footprint
- > var JSON = {};
- >
- > // add all of the methods
- > JSON.arrayToJSONString = Array.prototype.toJSONString;
- > JSON.booleanToJSONString = Boolean.prototype.toJSONString;
- > JSON.dateToJSONString = Date.prototype.toJSONString;
- > JSON.numberToJSONString = Number.prototype.toJSONString;
- > JSON.objectToJSONString = Object.prototype.toJSONString;
- > JSON.stringToJSONString = String.prototype.toJSONString;
- > JSON.parseJSON = String.prototype.parseJSON;
- >
- > // remove all the methods from intrinsic objects
- > delete(Array.prototype.toJSONString);
- > delete(Boolean.prototype.toJSONString);
- > delete(Date.prototype.toJSONString);
- > delete(Number.prototype.toJSONString);
- > delete(Object.prototype.toJSONString);
- > delete(String.prototype.toJSONString);
- > delete(String.prototype.parseJSON);