2011-11-17 72 views
0

所以,我嘗試加載一個外部.js文件,該文件作爲回報使用$ .ajax和jQuery模板加載其他頁面。當我的代碼都放在一個單獨的.aspx頁面時,一切正常。但是,一切都散發分離乾淨的文件後,我有此錯誤:加載需要jQuery的外部.js文件

Default.aspx的

<asp:ScriptManagerProxy ID="ScriptManagerProxy" runat="server"> 
    <Scripts> 
     <asp:ScriptReference Path="~/Scripts/jquery-1.7.min.js" /> 
     <asp:ScriptReference Path="~/Scripts/jQuery.tmpl.min.js" /> 
     <asp:ScriptReference Path="~/Pages/Templates/Stream/Stream.js" /> 
    </Scripts> 
</asp:ScriptManagerProxy> 

Stream.js

GetStream(); 

function GetStream() { 
     alert('ok'); 
     $.ajax({ /* It reaches this line */ 
     type: 'POST', 

但返回以下。

$ is undefined 

請注意,我已經加入了Stream.js seperately文件,而無需使用jQuery的1.7文件下面ScriptManagerProxy。還有同樣的事情。想法?

我忘了提,Stream.js的內容被包裹在

$(document).ready(function() { }); 
+0

「$未定義錯誤」發生becouse jQuery代碼運行之前,包括你的網站 –

回答

1

使用腳本管理器的好處是什麼?它只是要格式化/輸出HTML標籤。爲什麼不使用HTML代替。

<script language="javascript" src="/Scripts/jquery-1.7.min.js"></script> 
<script language="javascript" src="/Scripts/jQuery.tmpl.min.js"></script> 
<script language="javascript" src="/Pages/Templates/Stream/Stream.js"></script> 
+0

我有點需要提供的函數pageLoad(),它還執行並重新綁定部分回發jQuery選擇器。 – user1027620

+0

您使用的是母版頁嗎? –

+0

是的,但Stream.js文件僅在此頁面上需要,我試圖不將其加載到我的所有頁面上。 – user1027620

0

你應該引用外部文件中的ScriptManagerProxy,以確保他們以正確的順序執行。

+0

感謝您的回答嘿SLaks jquert。我在ScriptManagerProxy腳本引用中引用Stream.js。 – user1027620

+0

你在Firebug中看到什麼? – SLaks

+0

那麼'undefined'錯誤,請看這個http://www.jeffreyramia.com/firebug.png – user1027620