<script language="javascript" type="text/javascript">
try{
// Opera 8.0+, Firefox, Safari
ajaxRequest = new XMLHttpRequest();
} catch (e){
// Internet Explorer Browsers
try{
ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try{
ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e){
// Something went wrong
alert("Your browser broke!");
return false;
}
}
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
var result = ajaxRequest.responseText;
}
}
ajaxRequest.open("GET", "vartest.php", true);
document.getElementById('span').innerHTML = result;
ajaxRequest.send(null);
}
最佳答案
这是因为 Ajax 是异步的,并且当您执行此操作时尚未设置 result
(加上 var
无论如何都会使其成为函数的本地变量,您可以必须删除它)。
最好的办法是将 innerHTML
行移至readystatechange 回调中。
ajaxRequest.onreadystatechange = function(){
if(ajaxRequest.readyState == 4){
document.getElementById('span').innerHTML = ajaxRequest.responseText;;
}
关于php - 将 XMLHttpRequest.responseText 存储为变量 :(,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5050387/