php - 将 XMLHttpRequest.responseText 存储为变量 :(

标签 php javascript ajax responsetext

<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/

相关文章:

javascript - super 账本 Composer : calling a query within a transaction that updated an asset returns old results

javascript - jQuery 使用空元素检查是否存在

javascript - Ajax - Json 与文本性能

javascript - Ajax 请求接收 html 页面作为响应,但网页上未显示相同的响应 : Codeigniter

php - HTML/CSS/PHP 在特定页面上显示选定的元素

php - 来自 jQuery Ajax 的 bool 参数在 PHP 中作为文字字符串 "false"/"true"接收

javascript - 对延迟图像应用淡入淡出效果

php - 设置PhpStorm和Docker进行PHP开发,而无需在主机上安装PHP

php - 如何使用另一个表中的值从表中选择数据

JavaScript 加载 MVC ASP .NET MVC