Html 包含时未调用Ajax函数

Html 包含时未调用Ajax函数,html,ajax,jquery,Html,Ajax,Jquery,我有一个ajax函数,当ajax脚本包含在我的HTML页面中时,它不会运行,如下所示: <script type='text/javascript' src='ajax.js'></script> <body> <a class="a" href="#">clicky</a> </body> 但是,如果我将完全相同的脚本放在HTML页面的头部部分,那么它确实会运行 <body> <a class="

我有一个ajax函数,当ajax脚本包含在我的HTML页面中时,它不会运行,如下所示:

<script type='text/javascript' src='ajax.js'></script>
<body>
<a class="a" href="#">clicky</a>
</body>

但是,如果我将完全相同的脚本放在HTML页面的头部部分,那么它确实会运行

<body>
<a class="a" href="#">clicky</a>
</body>
为什么会发生这种情况,我如何修复它

<script type="text/javascript"> 
        $(function() {

            $(".a").click(function() 
            {    
                  $.ajax({
                     type: "POST",
                     url: "1.php",
                     data: dataString,
                     cache: false,
                     success: function(html)
                       {
                           //stuff
                       }  
                   });

                return false;
            });

        });

</script> 
<body>
<a class="a" href="#">clicky</a>
</body>

$(函数(){
$(“.a”)。单击(函数()
{    
$.ajax({
类型:“POST”,
url:“1.php”,
数据:dataString,
cache:false,
成功:函数(html)
{
//东西
}  
});
返回false;
});
});

我举了一个很好的例子。我看不出有什么问题,所以我猜可能是打字错误或是一些愚蠢的事情

<body>
<a class="a" href="#">clicky</a>
</body>
以下是我使用的示例代码:

<body>
<a class="a" href="#">clicky</a>
</body>
HTML: //仔细检查这些路径

<body>
<a class="a" href="#">clicky</a>
</body>
}))

<body>
<a class="a" href="#">clicky</a>
</body>
PHP:

<body>
<a class="a" href="#">clicky</a>
</body>

这可能看起来很琐碎,但在外部
.js
文件中使用时是否删除了
标记

<body>
<a class="a" href="#">clicky</a>
</body>
ajax.js
文件的内容应该是:

<body>
<a class="a" href="#">clicky</a>
</body>
我的印象是,当您提到“完全正确”时,您在
ajax.js
文件中保留了完整的脚本标记

<body>
<a class="a" href="#">clicky</a>
</body>

如果这仍然不起作用。尝试添加一个
警报(“hello”)行在
ajax.js
前面,查看它是否运行。

你是说它是通过ajax包含的?如果没有,为什么不把它放在头上呢?上面的ajax脚本是在HTML页面中调用的,就像我上面所说的那样。那样不行。它只有直接放在头部才有效。为什么?@Sev-脚本(作为外部文件)是在jquery之后还是之前包含?@Sev-确定没有发生任何javascript错误吗?可能是
ajax.js
脚本与HTML页面不在同一目录中。测试如果在浏览器中键入到
ajax.js
的完整URL会发生什么。例如,如果您编写的HTML页面位于
http://localhost/index.html
,那么您在
http://localhost/ajax.js
?您使用如下方式包含javascript:?是的,这正是我在文件中输入的html:呵呵,我犯了一个愚蠢的错误,但您发现了!干得好:)没问题。快乐的脚本!:)
<body>
<a class="a" href="#">clicky</a>
</body>