コールバックで作成した関数からオブジェクトの値にアクセスしようとしていますが、問題が発生しました。私はまだjQuery/javascriptでかなり新しいです。
次のように関数を呼び出します。
siteDeps(id,function(data){
$.each(data,function(key,val) {
console.log(key);
console.log(val);
});
});
この関数は、XMLデータから5つのajaxクエリを実行し、データを多次元オブジェクトとして返します。これがその肉を示す抜粋です:
function siteDeps(id,callback) {
var result = {
sitecontactid : {},
siteaddressid : {},
sitephoneid : {},
contactaddressid : {},
contactphoneid : {}
};
...//....
var url5 = decodeURIComponent("sql2xml.php?query=xxxxxxxxxxx");
$.get(url5, function(data){
$(data).find('ID').each(function(i){
result.sitephoneid[i] = $(this).text();
});
});
callback(result);
}
console.log出力はこれを示しています:
sitecontactid
Object
0: "2"
1: "3"
__proto__: Object
siteaddressid
Object
0: "1"
__proto__: Object
sitephoneid
Object
0: "1"
1: "5"
2: "54"
__proto__: Object
contactaddressid
Object
0: "80"
__proto__: Object
contactphoneid
Object
0: "6"
__proto__: Object
使用できる形式でコールバックデータを抽出するにはどうすればよいですか。たとえば、sitephoneid: "1"、 "5"、 "54"
または、これを行うためのより良い/より簡単な方法はありますか?
前もって感謝します。