1

我在使用 Ajax 时遇到问题,因为只要将函数放在外部文件中,代码就不会运行,但如果我将<script>标签放在文件中,它就可以毫无问题地运行。这是功能:

function show_version(str) {
    var xmlhttp;    
    if (window.XMLHttpRequest) {xmlhttp=new XMLHttpRequest();}
    else {xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");}

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

    xmlhttp.open("GET","version.php?sname="+str,true);
    xmlhttp.send();
}

我已经测试过version.php并且工作得很好。这就是我用来调用文件的内容: <script type="text/javascript" src="/test/search/jsSearch.js"></script> 快速回顾:如果我<script>在文件中使用标签,该函数可以完美运行,但如果我尝试从外部链接该文件,它什么也不做。

我已经尝试在 w3schools.com 上查看 Ajax 教程,但我找不到有关此问题的任何信息。你知道我还应该去哪里看看吗?

4

1 回答 1

1

您是否在您的外部脚本页面上运行带有文档就绪功能的 jQuery?

尝试在我的页面上运行 ajax 时遇到了同样的问题。当 ajax 脚本内联添加到我的页面时工作正常,但是当我将其移动到外部脚本页面时它不再工作。

在查看了我的代码后,我意识到我不小心将那个 ajax 函数放在了我的文档就绪函数中,我正在使用它来进行其他一些 jQuery 编码。在我将它移出文档就绪功能后,一切都再次完美。简单的修复,但可能是你的问题

于 2012-07-26T21:22:36.380 回答