对象未定义(Javascript)在localhost但不在生产中

时间:2012-07-17 01:31:17

标签: javascript asp.net debugging undefined

我们在ASP.NET页面上加载了两个Javascript文件。一个是CommonUI.js,另一个是Entity.Js

该页面调用Entity.Js中的一个函数,该函数调用CommonUI.Js中的函数。但是,在我的本地环境中,我收到错误“CommonUI”未定义。

在他们的生产环境中这很好。

我已经检查过CommonUI.js已经加载了。调试它会激活Entity.Js中的函数但是失败,因为在CommonUI上调用的函数(CommonUI.WindowResize())指向一个未定义的对象。

所以我的问题是......为什么CommonUI只在我的localhost中定义?

1 个答案:

答案 0 :(得分:0)

我认为您的问题可能与用于JS文件的路径有关。

您可以在页面标题中添加对两个JS文件的引用:

<script type="text/javascript" src='<%= Page.ResolveUrl("~/js/Entity.js") %>'></script>
<script type="text/javascript" src='<%= Page.ResolveUrl("~/js/CommonUI.js") %>'></script>

如果您使用母版页结构,则可能需要将引用包装在ASP占位符服务器控件中。

    <asp:PlaceHolder ID="PlaceHolder1" runat="server">
        <script type="text/javascript" src='<%= Page.ResolveUrl("~/js/Entity.js") %>'></script>
        <script type="text/javascript" src='<%= Page.ResolveUrl("~/js/CommonUI.js") %>'></script>
    </asp:PlaceHolder>