2011-05-22 190 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使問題 使用頁面加載(),而不是