こんにちは、次のコードがあります
var idx = 0;
var size = 0;
do {
response.push({
key: "data" + idx,
ajaxOptions: function () {
var data = this.getPref("groupsCN");
var items = data.split(';');
size = items.length;
idx++;
alert('inside index: ' + idx + ' < inside length ' + size);
return {
url: '/rest/adrestresource/1.0/activedirectory/findgroups&test@lab.local&Bezhesla1&localhost&',
type: "GET",
dataType: "xml"
}
}
});
alert('outside index: ' + idx + ' < outside length ' + size);
} while (idx < size);
この関数getPref
は、いくつかの値を で割った文字列をロードします;
。主なポイントは、このすべての値を繰り返し処理し、それらを使用して何かを行うことです。しかし、次のコード出力
外側のインデックス: 0 < 外側の長さ: 0
つまり、変数idx
とsize
は関数内で変更されません。しかし、私は理由を知りませんか?
this.getPref()
外部では機能しないため、内部で呼び出す必要がありますajaxOptions -> function
(理由はわかりませんが、この関数は Atlassian Gadget JavaScript フレームワークの一部です)。