为什么ajax异步调用不会更改元素的innerHTML?

布鲁诺布利斯

PLan很简单,请<li>从data.txt中获取几个当我使用同步方法(false)时此方法有效,而当我使用默认true时则无效,这是以下代码

作品:

function change() {
    var ajax = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    ajax.open('GET','data.txt',false);
    ajax.send();
    var changeME = document.getElementById('changeMe');
    changeME.innerHTML = ajax.responseText;
}

不起作用

function change() {
    var ajax = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    ajax.open('GET','data.txt',true);
    ajax.send();
    var changeME = document.getElementById('changeMe');
    changeME.innerHTML = ajax.responseText;
}

HTML

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8" />
    </head>
    <body>
        <div id="changeMe"> </div>
        <input type="button" id="lol" onclick="change();" value="Change" />
    </body>
    <script src="script.js"></script>
</html>

DATA.TXT

<li>List item 1</li>
<li>List item 2</li>
滑皮特

您需要为异步调用完成的时间设置一个处理程序,并在那里进行DOM更新:

function change() {
    var ajax = (window.XMLHttpRequest) ? new XMLHttpRequest() : new ActiveXObject("Microsoft.XMLHTTP");
    ajax.onreadystatechange = function () {
        if (ajax.readyState == 4 && ajax.status == 200) {
            var changeME = document.getElementById('changeMe');
            changeME.innerHTML = ajax.responseText;
        }
    }
    ajax.open('GET', 'data.txt', true);
    ajax.send();
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么异步调用不适用于回调模式?

来自分类Dev

为什么我的异步调用仍然阻止我与Swift中的UI元素进行交互?

来自分类Dev

颤振异步调用不会在initState()中异步运行

来自分类Dev

柴间谍和异步调用不会调用一次

来自分类Dev

什么是处理jQuery ajax异步调用的最佳方法?

来自分类Dev

为什么需要异步调用数据库?

来自分类Dev

为什么EF 6教程使用异步调用?

来自分类Dev

为什么这个异步调用会暂停执行?

来自分类Dev

如何进行异步调用不会阻止操作将响应返回给用户

来自分类Dev

为什么我的范围不包含循环更改元素?

来自分类Dev

为什么更改元素的宽度会影响其同级?

来自分类Dev

为什么使用固定属性更改元素的大小?

来自分类Dev

如何使用 React 更改元素的 innerHTML?

来自分类Dev

(Django) AJAX 调用不会命中视图,表单提交会。为什么?

来自分类Dev

为什么更改list [i]会影响列表,但更改元素不会在`for中,对于inputList中的元素呢?

来自分类Dev

&:专注于输入不会更改元素

来自分类Dev

JavaScript不会更改元素的样式

来自分类Dev

解析异步调用不更新AngularJS中的$ scope变量

来自分类Dev

任务异步调用不返回会导致死锁

来自分类Dev

JavaScript For Loop中的异步调用不起作用

来自分类Dev

用reducer进行异步调用不起作用

来自分类Dev

为什么我不能通过await将变量分配给异步调用的结果?

来自分类Dev

为什么在使用异步调用的 react js 中刷新时不呈现数据?

来自分类Dev

为什么我的ajax调用不起作用?

来自分类Dev

为什么此ajax调用不起作用?

来自分类Dev

完成多个异步调用后,AJAX会启动最终的异步调用

来自分类Dev

使用子节点innerHTML更改元素的标题

来自分类Dev

异步调用动作方法不会加载视图

来自分类Dev

如果传入参数,则不会异步调用该函数

Related 相关文章

  1. 1

    为什么异步调用不适用于回调模式?

  2. 2

    为什么我的异步调用仍然阻止我与Swift中的UI元素进行交互?

  3. 3

    颤振异步调用不会在initState()中异步运行

  4. 4

    柴间谍和异步调用不会调用一次

  5. 5

    什么是处理jQuery ajax异步调用的最佳方法?

  6. 6

    为什么需要异步调用数据库?

  7. 7

    为什么EF 6教程使用异步调用?

  8. 8

    为什么这个异步调用会暂停执行?

  9. 9

    如何进行异步调用不会阻止操作将响应返回给用户

  10. 10

    为什么我的范围不包含循环更改元素?

  11. 11

    为什么更改元素的宽度会影响其同级?

  12. 12

    为什么使用固定属性更改元素的大小?

  13. 13

    如何使用 React 更改元素的 innerHTML?

  14. 14

    (Django) AJAX 调用不会命中视图,表单提交会。为什么?

  15. 15

    为什么更改list [i]会影响列表,但更改元素不会在`for中,对于inputList中的元素呢?

  16. 16

    &:专注于输入不会更改元素

  17. 17

    JavaScript不会更改元素的样式

  18. 18

    解析异步调用不更新AngularJS中的$ scope变量

  19. 19

    任务异步调用不返回会导致死锁

  20. 20

    JavaScript For Loop中的异步调用不起作用

  21. 21

    用reducer进行异步调用不起作用

  22. 22

    为什么我不能通过await将变量分配给异步调用的结果?

  23. 23

    为什么在使用异步调用的 react js 中刷新时不呈现数据?

  24. 24

    为什么我的ajax调用不起作用?

  25. 25

    为什么此ajax调用不起作用?

  26. 26

    完成多个异步调用后,AJAX会启动最终的异步调用

  27. 27

    使用子节点innerHTML更改元素的标题

  28. 28

    异步调用动作方法不会加载视图

  29. 29

    如果传入参数,则不会异步调用该函数

热门标签

归档