これはPHPページからデータを取得するXMLHttpRequestのコードです。 "if"の中の変数user_dataに警告すると、それは動作します。しかし、このコードのすべての下では、変数はもう存在しません。変数がコードの外に存在しない
ありがとうございました!
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
user_data = xmlhttp.responseText;
alert (user_data); //THIS WORKS
}
}
xmlhttp.open("GET","http://myurl.com/index.php",true);
xmlhttp.send();
alert (user_data); //THIS DOESN'T WORK
これは、Ajaxが非同期であるためです。 'onreadystatechange'コールバックは、リクエストが完了したとき、2回目のアラート後にのみ呼び出されます。 –