0

onload イベントを使用して、サーバーから json オブジェクトを呼び出し、それらをタイトル ペイン内に配置しようとしています。現時点では、DB から 1 つのオブジェクトのみを取得しようとしています。ただし、コンソールで次のエラーが発生し続けます。

  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>

私がこれを完全に間違っている場合、誰かが光を当てることができますか?

4

1 に答える 1

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
});
于 2013-01-28T19:43:55.720 に答える