所以我试图加载外部.js文件,然后使用$ .ajax和jQuery模板加载其他页面。当我的代码全部放在一个.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>
GetStream();
function GetStream() {
alert('ok');
$.ajax({ /* It reaches this line */
type: 'POST',
但返回以下内容。
$ is undefined
请注意,我已经单独添加了Stream.js文件,而没有使用jquery-1.7文件下面的ScriptManagerProxy
。并且仍然有同样的事情。想法?
我忘了提及Stream.js的内容包含在中:
$(document).ready(function () { });
答案 0 :(得分: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>
答案 1 :(得分:0)
您应该在ScriptManagerProxy中引用外部文件,以确保它们以正确的顺序执行。