【问题标题】:Cannot Seem To Get This AJAX Code To Run似乎无法运行此 AJAX 代码
【发布时间】:2010-10-22 21:31:08
【问题描述】:

我正在尝试学习如何使用 ajax,但我似乎无法弄清楚为什么下面的代码不起作用。它所做的只是在页面首次加载时首先创建一个有效的 XMLHttpRequest 对象,然后将一些文本插入到页面 div 区域的一部分中。

Demo.js

var ajaxRequest;  // The variable that makes Ajax possible!
function newRequest()
{
    try
    {
        ajaxRequest = new XMLHttpRequest();
    ..
    }    
}

我通过以下方式调用它:

Index.html

<script src="Demo.js" type="text/javascript"></script>
</head>
<body onload="newRequest()">
    <div class="page_Disp">
    </div>

然后我尝试使用以下 JS 函数将文件中的一些文本加载到页面中:

Demo.js

function openPage()
{
    ajaxRequest.onreadystatechange=function()
    {
        if (ajaxRequest.readyState==4 && ajaxRequest.status==200)
        {
            document.getElementById("page_Disp").innerHTML=ajaxRequest.responseText;
            ajaxRequest.open("GET","ajax_info.txt",true);
            ajaxRequest.send();
        }
    }
}

上面是使用下面的html代码调用的:

<a onclick="openPage()">Load TXT</a>

任何人都可以看到导致脚本无法加载并将 .txt 中的数据插入该部分的问题吗?

【问题讨论】:

    标签: javascript html ajax xhtml


    【解决方案1】:

    您在元素上使用class

    <div class="page_Disp">
    

    但正试图通过id获得它:

    document.getElementById("page_Disp")
    

    因此,您需要将其更改为 id 以填充:

    <div id="page_Disp">
    

    【讨论】:

      【解决方案2】:

      我希望你的 Demo.js 看起来像这样

      function openPage()
      {
          ajaxRequest.onreadystatechange=function()
          {
              if (ajaxRequest.readyState==4 && ajaxRequest.status==200)
              {
                  document.getElementById("page_Disp").innerHTML=ajaxRequest.responseText;
              }
          }
          ajaxRequest.open("GET","ajax_info.txt",true);
          ajaxRequest.send();
      }
      

      否则 ajaxRequest 将永远无法发送请求,因为它位于响应请求的代码中。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2017-09-05
        相关资源
        最近更新 更多