ここから最近リリースされたjQueryGanntプラグイン/アプリケーションで遊んでいて、サーバーに保存されているさまざまなガントチャートの名前が入力されたドロップダウンを書き込もうとしています。このドロップダウンを生成するには、次の関数を使用します。
$.ajax({
url: "GanttLoader.ashx?action=getGantts",
context: document.body,
type: "GET",
dataType: "json",
success: function(data) {
if(data.gantts != null) {
for(var gantt in data.gantts) {
alert(gantt.name + " is locked " + gantt.locked);
var toAppend = $("<option/>").val(gantt.name).html(gantt.name);
if(gantt.locked) { toAppend.attr("disabled", "disabled"); }
$("#saved_gantts").append(toAppend);
}
$("#saved_gantts").append($("<option/>").val("add new").html("add new"));
saved_gantts_loaded = true;
}
else if(data.status == "none") {
$("#saved_gantts").append($("<option/>").val("add new").html("add new"));
}
},
error: function() { alert("couldn't load gantt charts"); }
});
現時点では、これはドロップダウンを生成するためにサーバーが送信しているものです (ガント データはまだ送信されていません。開いているガントと現在編集中のガントの単純なリストのみです)。
{
"gantts": [
{
"name": "other",
"locked": true
},
{
"name": "test",
"locked": true
}
]
}
何らかの理由で、成功関数の呼び出しで for ループが配列に格納されている両方のオブジェクトをループしますが、アラートは常に出力され"undefined is locked undefined"
ます。ハンドラーまたは返される JSON の何が問題なのか、誰かが知っていますか?
前もって感謝します。