2012-05-04 19 views
1

我有Ajax问题,因为只要将函数放在外部文件中,代码就不会运行,但如果我将<script>标记放在它运行的文件中没问题。下面是函数:当fn()放在外部文件中时,Ajax不工作

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教程上看,但我找不到有关此问题的任何内容。你知道我应该看看什么吗?

+0

脚本标记是什么样子,导入外部文件? –

+0

你是否看到任何JS错误?你在HTML中包含脚本标记的位置?在id =“ever”的元素之前或之后? show_version()如何触发? – Steve

回答

1

你有jQuery在外部脚本页面上运行文档就绪功能吗?

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

看完我的代码后,我意识到我不小心将ajax函数放在了我的文档就绪函数中,而我正在使用它来处理其他jQuery代码。将文档移出文档准备就绪功能后,所有操作都再次完美。简单的修复,但可能是你的问题

相关问题