解析错误/语法

时间:2013-01-28 19:19:06

标签: javascript dojo onload-event

我正在尝试使用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>
如果我这样做完全错了,有人可以说清楚吗?

1 个答案:

答案 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
});