AJAX没有响应文本中的数据

时间:2014-04-21 01:43:02

标签: php ajax

就在前面......我是使用Ajax的新手。

我正在一个网站上工作,我想要一个Select对象的结果来确定第二个Select对象中的选项(来自数据库查询)。我使用PHP,似乎唯一的方法就是使用Ajax。我已经编写了一个简短的html页面来测试我的Ajax知识,它似乎只能在Firefox上找到,但不能在Chrome或IE上找到。我已经做了很多研究,发现各种类似问题的人都没有真正的解决方案。

我正在对同一文件夹中的本地文件进行XMLHTTPRequest调用,所以我不应该遇到任何跨域问题。任何帮助将不胜感激。

这是我更改选择框时调用的Javascript函数: ...

   function getData(str)
    {
    var xmlhttp;
    if (window.XMLHttpRequest)
    {// code for IE7+, Firefox, Chrome, Opera, Safari
      xmlhttp=new XMLHttpRequest();
    }
    else
    {// code for IE6, IE5
      xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
    }

    xmlhttp.open("GET","ajax_info.php?color=",true);
    xmlhttp.setRequestHeader("Content-Type", "text/xml");
    xmlhttp.send();
    alert(xmlhttp.responseText);
  }

******** ajax_info.php +++++++++++++++++++++ //这是为响应xmlhttprequest而运行的php文件。它只是在这个时候生成一串数字。

<?php
$str = "";
$i = 0;
for($i; $i<1000; $i++)
 { 
 $str = $str.$i."-";
}
echo $str;
?>

2 个答案:

答案 0 :(得分:0)

您需要将事件处理程序附加到xmlhttp对象以捕获onreadystatechange事件。请注意,当您提醒您的值时,异步ajax调用刚刚触发并且尚未完成(您无论如何都没有检查):

xmlhttp.onreadystatechange=function() {
    if (xmlhttp.readyState==4 && xmlhttp.status==200) {
        alert(xmlhttp.responseText);
    }
}
xmlhttp.open("GET","ajax_info.php?color=",true);
xmlhttp.setRequestHeader("Content-Type", "text/xml");
xmlhttp.send();

答案 1 :(得分:0)

那么你应该尝试jQuery。你可以更容易地提出ajax请求。

以下是您的问题的示例

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

<script>

// FOR GET REQUEST

$.get("ajax_info.php",{color:'value'},function(data) {

            alert(data); // RETRIEVE THE RESULT
});

</script>