0
私はサーバからのデータを渡す配列を埋める汎用関数を書こうとしています。以下のコードは、関数内の配列を適切に埋めますが、 '文字'配列を渡そうとすると、それを受け取りません。ここでAJAX呼び出しで外部配列を塗りつぶす
は、関数呼び出しです:
$(document).ready(function() {
databaseConnect("loadCharacter.php", characters);
document.write(characters[0]); //This spits out 'undefined'
});
そして、ここでは、関数である:
function databaseConnect (file, array) {
if (login == true) {
$.ajax({
type: "POST",
url: file,
data: {id : identi},
success: function(data, array) {
array = data.split('-');
i = 0;
while(array[i]) {
array[i] = JSON.parse(array[i]);
++i;
}
},
});
} else {
document.write("Dude. You're not logged in.");
}
}
などは 'document.write'を使用しないようあなたは、コールバックを利用する必要があります。ページが最初にロードされた後でそれを使用すると、ページ全体を書きたいコンテンツで上書きします。つまり、すべてのコンテンツと資産を意味します。 – synthet1c
http://stackoverflow.com/questions/23667086/why-is-my-variable-unaltered-after-i-modify-it-inside-of-a-function-asynchron – epascarello