我在ExtJS应用程序中解码一些JSON数据。它在Firefox中运行良好,但在IE中(Gee出乎意料)我收到了这个错误:
SCRIPT438: Object doesn't support property or method 'toSource'
Search.js?_dc=1393865997622, line 194 character 5
我的Search.js:
var mainresponse = response.toSource(); //Works in FF
response
看起来像这样:
{
"elements":[
{
"element":{
"name":"value 1",
"id":"element 1",
"attributes":[
{
"attrname":"id",
etc...
我的解码是:
var decoded = Ext.decode( mainresponse );
// loop over decoded data
for( var i=0; i < decoded.elements.length; i++ ) {
etc...
这有什么快速解决方案吗?它在浏览器模式IE9中发生。
答案 0 :(得分:2)
Object.prototype.toSource()
是非标准的,在IE中不受支持:
非标准
此功能是非标准的,不符合标准 跟踪。不要在面向Web的生产站点上使用它:它不会 为每个用户工作。两者之间可能存在很大的不兼容性 实现和行为可能在未来发生变化。
答案 1 :(得分:0)
我在解码之前使用JSONS的stringify
函数而不是mainresponse
解决了这个问题。
response.toSource()