2011-05-22 152 views
18

我试图运行jQuery和WebMethods与ASP.NET;我已经添加了一个ScriptManager到母版页,内容页

<asp:Content ID="ch" ContentPlaceHolderID="cHead" runat="server"> 
    <script language="javascript" type="text/javascript"> 
     $(document).ready(function() { 
      alert("hi"); 
     }); 
    </script> 
</asp:Content> 

然而,这永远不会触发上的内容,我缺少什么?

+1

JavaScript的工作在jQuery的1.6如下所示:http://jsfiddle.net/VRA98/别的东西错误。您的浏览器是否显示JavaScript的错误图标?当你查看你的页面源代码时,那里是JavaScript吗? (也许服务器端的代码隐藏了一个包含JavaScript的控件)。 – 2011-05-22 04:16:56

+1

发布您的jquery包括代码.. – kobe 2011-05-22 04:24:45

回答

26

验证以下步骤。

  1. 是否包含在Firebug的jquery
  2. 检查错误

这些事情应该可以解决问题

+0

如果这没有帮助,你会得到任何错误,尽量把一些'的console.log(“步信息”)'S穿透步骤和注意是否是所有的人输出在正确的时间,以安慰......因为:jQuery的CAN *** ***沉默在某些错误情况出口, – 2017-04-07 17:55:34

8

而不是使用这个的:

$(document).ready(function() { /* your code */ }); 

使用此:

jQuery(function($) { /* your code */ })(jQuery); 

它更简洁,并且做同样的事情,它也不依赖于$变量作为jQuery对象。

+2

检查你评论,该代码将无法正常工作。评论应该是'/ *你的代码* /',你的例子是正确的 – sg3s 2012-10-04 15:21:06

+0

编辑评论每@ sg3S。 – 2012-10-04 17:42:29

+3

@harshal lonare,是的,它确实与代码一起工作,但为什么不用$(document)? – wolfgang 2014-04-25 10:21:02

1

如果主机页面是HTTPS,并且包含的​​javascript源路径是HTTP,则会发生这种情况。这两个协议必须是相同的,HTTPS。告诉尾标将在Firebug下进行检查,并注意JS被“拒绝访问”。当ready停止工作

17

一种可能性是,你有JavaScript代码的地方,是在$(document).ready(...)$(...)调用,而停止ready块的其余部分的处理抛出异常。识别出现这种情况的单个页面,并检查其他地方可能发生的错误。

+2

我有一个类似的问题 - 我的页面中确实存在一些与jQuery相关的错误。一旦他们修好了,一切都奏效了。 – Luoruize 2015-05-10 08:44:55

+0

对我来说,这是因为我忘记做一个'bower install'来安装一些第三方JS库。当我尝试从这些库中加载其中一个文件时,Laravel提供了一个404页面,而这显然由于包含非JS代码而引发了错误。 – 2015-11-03 19:22:09

+0

我希望我早点找到你的答案!谢谢。 – taco 2016-07-18 01:39:25

1

我复制粘贴我的直列js从其他.php项目,代码块里面有一些php代码输出一定的价值,因为现在的变量在我的新文件没有定义,它生产的典型phpundefined warning/error,并且因为js代码被搞乱了,并且没有对任何事件做出响应,所以即使alert("xyz");也会失败!虽然错误的线路接近文件结尾,但js也只会死,

没有任何错误! > :(

现在有一两件事令人困惑的是,调试器控制台/输出没有给出提示/错误/警告任何的js悄悄死去。

所以尝试检查,如果你有php内嵌在js编码,并看看它是否输出任何错误。一旦删除/排序你的js应该工作正常。

0

一种可能性,我们来看一看:

<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js" /> 

VS

<script language="javascript" type="text/javascript" src="./jquery-3.1.1.slim.min.js"></script> 

第一种方法其实是错误的,但是浏览器不会在所有complaims。 您需要确定您确实以正确的方式关闭了JavaScript标记。

1
function pageLoad() { 
    console.log('pageLoad'); 
    $(document).ready(function() { 
     alert("hi"); 
    }); 
}; 

其使用ScriptManager AJAX使问题 使用页面加载(),而不是