我们的企业应用程序目前使用Json.js我下载了JQuery js文件,将其包含在使用json的页面中,我开始在json.js文件中获取Javascript错误。错误是:
Microsoft JScript runtime error: Object doesnt suppor this propety or method
这是一个已知问题吗?
编辑: 我不确定这个json.js文件是从哪里下载的(同事已经这样做了)。但是,json.js看起来像这样:
json.js
2007-04-13
Public Domain
This file adds these methods to JavaScript:
array.toJSONString()
boolean.toJSONString()
date.toJSONString()
number.toJSONString()
object.toJSONString()
string.toJSONString()
我用json2.js替换了这个文件,看来新文件没有parseJSON()函数。我们在几页中使用此功能。
答案 0 :(得分:1)
看起来好像Json.js确实使用$作为变量名。在这些情况下,您需要使用JQuery's noconflict function。基本上你必须将JQuery脚本标记放在Json脚本标记之上,并在加载Json库之前在jquery上调用noconflict。一个很好的特性是,虽然noconflict使JQuery不使用$,你可以将noconflict(将是JQuery对象)的结果分配给另一个别名,如此
var $j = jQuery.noConflict();
现在你只需使用$ j就可以使用$。
答案 1 :(得分:1)
您可能想要指定json.js
是什么。这是http://www.json.org/js.html吗?
您可能正在使用与jQuery冲突的旧版本
这可能会有所帮助:http://www.mail-archive.com/discuss@jquery.com/msg06247.html
答案 2 :(得分:1)
要解决任何变量/方法命名问题,请使用这种方法,这种方法在100%的时间都适用于我:
(function(){
// Your javascript function goes here
})();
答案 3 :(得分:1)
用json2.js替换json.js之后,只需替换像
这样的结构foo.toJSONString()
foo.parseJSON()
与
JSON.stringify(foo)
JSON.parse(foo)
答案 4 :(得分:0)
我使用http://json.org中的json2.js文件和jQuery_1.3.1.js文件,没有任何问题。