-1
関数内で定義した変数を呼び出すことができないのはなぜですか?これは私のコードです...JavaScript:関数の外部で機能しない変数はありますか?
var username;
var rank;
var steamid;
var avatar;
var xhr = new XMLHttpRequest();
xhr.onreadystatechange = function() {
if (this.readyState == 4 && this.status == 200) {
if (this.responseText == "null") {
} else {
var infoArr = JSON.parse(this.responseText);
var username = infoArr.username;
var rank = infoArr.rank;
var steamid = infoArr.steamid;
var avatar = infoArr.avatar;
testIt();
}
}
};
xhr.open("GET", "../getInfo.php", true);
xhr.send();
function testIt() {
alert(username);
}
機能testIt()戻っている:未定義
をどのように私のコードはありませんが、JSONエンコードされたページから情報を取得し、変数を作ることです。
コールバック関数の内部では、これらの変数のスコープを 'var'を使ってローカルに設定しています。コールバック関数でusername、rank、steamid、avatarの前からvarを削除します。 – James
私は...もちろんそれは動作しません。 'testIt'はその変数にアクセスできません。 'testIt'に渡すか、単に' testIt'を削除して、そのロジックをコールバックに移すかのどちらかです。 'var'を取り除いてグローバル変数に移動しないでください... –
回答ありがとうございます。今解決された:D – Gogle