我正在尝试使用onload事件从服务器调用我的json对象&把它们放在标题窗格内。目前我只是试图从数据库中取出一个对象。但是,我一直在控制台上收到此错误:
dojo/parser::parse() error SyntaxError {}
突出显示了parser.js文件行411.
这是一个片段:
<div data-dojo-props="title: 'Json is here', open:false" data-dojo-type="dijit/TitlePane" id="tab" onload= " dojo.require('dijit/TitlePane');
dojo.xhrGet({
url: 'http://171.23.34:3000/page.json',
handleAs: 'json',
timeout : 2000,
load: function(data){
dojo.byId('tab').innerHTML = data[0].Name;
dojo.parser.parse('tab');
},
error: function(error){
dojo.byId('tab').innerHTML = "An unexpected error occurred:" + error;
}
}
});"
preload="true" selected="true" >
</div>
如果我这样做完全错了,有人可以说清楚吗?
答案 0 :(得分:1)
您已经定义了一个html属性onLoad="..."
,并且在onload函数中您有以下内容:
dojo.byId('tab').innerHTML = "An unexpected error occurred:" + error;
此行中的第一个引号关闭HTML中的onLoad属性,该函数的其余部分被解析为html并失败。
尝试将onload方法放在声明性脚本标记中。
http://dojotoolkit.org/reference-guide/1.8/dojo/parser.html#declarative-scripting-arguments
修改
除了更改为单引号外,您的函数中还有一个额外的括号。
dojo.xhrGet({
url: 'http://171.23.34:3000/page.json',
handleAs: 'json',
timeout : 2000,
load: function(data){
dojo.byId('tab').innerHTML = data[0].Name;
dojo.parser.parse('tab');
},
error: function(error){
dojo.byId('tab').innerHTML = 'An unexpected error occurred:' + error;
}
//} <-- extra brace
});