Ajax不加载简单文件

时间:2014-09-12 12:58:38

标签: javascript html ajax

我开始学习AJAX并且在开始时遇到问题我无法解决。我有2个文件,main.html代码:

<!DOCTYPE html>
<html>
<head>
    <title>My page</title>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
    <button>apple</button>
    <div id="target">
    Press button
    </div>

    <script>
    var buttons = document.getElementsByTagName("button");
    for (var i = 0; i < buttons.length; i++)
    {
        buttons[i].onclick = handleButtonPress;
    }

    function handleButtonPress(e)
    {

        var xmlhttp = new XMLHttpRequest();

        xmlhttp.open("GET","blabla.txt",false);
        xmlhttp.send(null);

        document.getElementById("target").innerHTML=xmlhttp.responseText;

    }
</script>
</body>
</html>

和&#34; blabla.txt&#34;内容:

asdasdsaldkjasdajsdl

问题是单击按钮后它应该将blabla.txt文件的内容加载到div元素中。不幸的是,它无法解决我不知道的原因。

我认为值得补充说两个文件都放在同一个文件夹中。

3 个答案:

答案 0 :(得分:0)

xmlhttp.onreadystatechange=function()
 {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
  {
     document.getElementById("target").innerHTML=xmlhttp.responseText;
  }
 }

答案 1 :(得分:0)

<div id="test"></div>

$(document).ready(function(){
   $.get('ajax/test.txt', function(data) {
      $('#test').html(data);
    });

})

答案 2 :(得分:0)

 var xmlhttp = new XMLHttpRequest();

 xmlhttp.onreadystatechange = function () {
     var DONE = (xmlhttp.readyState == 4 && xmlhttp.status==200) ;
     if (DONE){
         document.getElementById("target").innerHTML=xmlhttp.responseText;
     }
 };
 xmlhttp.open("GET","blabla.txt",false);
 xmlhttp.send(null);

使用上面的代码。您需要添加ajax的状态以检查ajax是否已完成。否则它将执行相同的时间,并且不会找到响应文本。

相关问题