2010-05-28 145 views
0

我有当被包含在我的HTML页面的AJAX脚本,像这样未运行AJAX功能不叫:的Ajax功能时,包括

<script type='text/javascript' src='ajax.js'></script> 

但是,如果我把完全相同的脚本在头部部分的HTML页面,然后它运行。

为什么会出现这种情况,我该如何解决?

<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

你的意思是它包含在Ajax中?如果不是,你为什么不把它放在脑袋里? – 2010-05-28 23:13:29

+0

上面的ajax脚本在HTML页面中被调用,就像我上面所说的那样。它不会那样工作。它只在直接放在头部时才起作用。为什么? – Sev 2010-05-28 23:23:32

+0

@Sev - 脚本(作为外部文件)在** jquery之后还是之前? – 2010-05-29 00:12:47

回答

1

这似乎微不足道,但你在外部.js文件使用时去掉<script>标签?

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");行,看它是否在处运行

+0

呵呵,我这方面的愚蠢的错误,但你抓住它!做得好:) – Sev 2010-05-29 21:23:49

+0

没问题。快乐的脚本! :) – sirhc 2010-05-30 06:22:05

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'; 
+0

,并且您使用如下所示的JavaScript包含了JavaScript:? – Sev 2010-05-28 23:57:41

+0

是的,这是确切的HTML我把我的文件: <脚本类型= “文/ JavaScript的” SRC = “JS/jQuery的1.4.2.min.js”> <脚本类型=“文本/ javascript'src ='ajax.js'> – Zumo 2010-05-29 00:20:09

+0

确实很奇怪。我会再次测试它。谢谢。 – Sev 2010-05-29 06:59:13