我有一个ajax函数,当我的HTML页面中包含ajax脚本时,它不会运行,如下所示:
<script type='text/javascript' src='ajax.js'></script>
但是,如果我将完全相同的脚本放在HTML页面的 head 部分,那么它确实会运行。
为什么会发生这种情况,我该如何解决?
<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>
答案 0 :(得分:1)
这可能看似微不足道,但在外部<script>
文件中使用时,您是否删除了.js
代码?
ajax.js
文件的内容应 :
$(function() {
$(".a").click(function() {
$.ajax({
type: "POST",
url: "1.php",
data: dataString,
cache: false,
success: function(html)
{
//stuff
}
});
return false;
});
});
我的印象是,当您提到“完全”时,您将脚本标记保留在ajax.js
文件中。
此外,如果这仍然不起作用。尝试在alert("hello");
顶部添加ajax.js
行,然后查看是否全部
答案 1 :(得分:0)
我做了一个适合我的例子。不能看到任何问题,所以我猜它是一个错误或傻事。
这是我使用的示例代码:
HTML: //仔细检查这些路径
<body>
<a class="a" href="#">clicky</a>
</body>
使用Javascript:
$(function() {
// i noticed you put .a here instead of a, i am assuming you are referring the class
$(".a").click(function()
{
alert("1");
$.ajax({
type: "POST",
url: "1.php",
data: "html",
cache: false,
success: function(data)
{
//stuff
$("body").html(data);
}
});
return false;
});
});
PHP:
echo 'bar';