【问题标题】:JavaScript include declaration fails to find fileJavaScript 包含声明找不到文件
【发布时间】:2008-12-28 22:47:14
【问题描述】:

我在这里忽略了一些非常简单的东西,但是对于我的一生,我无法从我的母版页中正确地包含一个 JavaScript 文件。我在<head> 元素中的声明看起来很正常:

<head runat="server">
    <title>Untitled Page</title>
    <script type="text/javascript" src="/_private/scripts/jquery-1.2.6.min.js"></script>
    <asp:ContentPlaceHolder ID="head" runat="server">
    </asp:ContentPlaceHolder>
</head>

但是当页面加载时,js文件根本就不见了。相反,当我们尝试扩展该脚本元素时,我们在 Firebug 中得到的只是页面的 HTML。

我之前已经无数次成功地包含过这样的 js 文件,据我所知,我再次以完全相同的方式完成了它。这几乎不是火箭科学,所以如果我能弄清楚它是什么,我肯定忽略了一些显而易见但该死的东西。

无奈之下,我转向你。有什么想法吗?

还有最后一点:查看页面的源代码会显示一个不太可能的表单操作。即使直接浏览到默认页面,表单操作中也会包含一个 ReturnUrl,并且该 ReturnUrl 是缺少脚本的位置:

<form name="aspnetForm" method="post" action="default.aspx?ReturnUrl=%2f_private%2fscripts%2fjquery-1.2.6.min.js" onsubmit="javascript:return WebForm_OnSubmit();" id="aspnetForm">

【问题讨论】:

    标签: asp.net javascript


    【解决方案1】:

    如果您在 Visual Studio 中运行此链接,则链接可能不起作用。默认情况下,VS 将站点提供为 http://localhost:3456/projectname/... 这样的站点,因此 /_private 实际上不会位于根目录。

    您可以在项目/解决方案的属性中更改此设置,或使用其他方法动态重写脚本路径。

    关于表单动作的第二点,你的js文件有没有可能在受保护的目录中?看起来像登录/返回路径 url。

    【讨论】:

    • GAA!!!我知道这将是显而易见的事情。干得好那个人——我错误地在那个目录上设置了授权。谢谢!
    【解决方案2】:

    那个表单 URL 真的很奇怪,但是你试过用“~/”根结构引导你的路径吗?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-02-28
      • 2018-06-04
      • 1970-01-01
      • 1970-01-01
      • 2017-08-13
      相关资源
      最近更新 更多