ajax responseText始终返回页面本身但不返回请求的页面

时间:2014-01-27 09:01:29

标签: ajax responsetext

我正在尝试一个非常简单的Ajax测试 - 更改标题。 但是,不是使用DoSomthing.php文件中的所需文本更改标题,而是使用我的所有main.php文件内容修改标题的ajax。

主文件是一个php文件,但是对于测试,不需要php代码。

<!DOCTYPE html>
<html>
<head>
    <script>

    //-----------------------------------------------------------
    function myFunction2()
    {
        var xmlhttp;
        xmlhttp=new XMLHttpRequest();

        xmlhttp.onreadystatechange=function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                document.getElementById("Title").innerHTML=xmlhttp.responseText;            
            }
        }
        xmlhttp.open("GET","DoSomething.php",true);
        xmlhttp.send();
    }

    </script>        
</head>
<body>
    <p id="Title">What do you say? :)</p>
    <button type="button" onclick="myFunction2()">Try Ajax</button>
</body>
</html>

新标题由php文件提供,该文件存在于与主php文件相同的文件夹中。 以下是Ajax为修改标题而调用的DoSomthing.php文件。

<?php
echo "Hellooo there!";
?>

btw,调试控制台中没有报告错误。

所以我不明白这里发生了什么,并且在网上没有发现任何类似的问题。

由于

2 个答案:

答案 0 :(得分:0)

您是否尝试重命名<p id="Title">...</p>

答案 1 :(得分:0)

好的,明白了!

问题是由Chrome浏览器的缓存机制引起的。 在开发代码时,chrome将一些旧代码保留在缓存中,因此当我尝试此问题中给出的示例时,整体结果基于新代码,其中包含缓存的旧代码。

按F5刷新页面解决所有问题。