【问题标题】:javascript loading issue with jquery ajax or xmlhttpjquery ajax 或 xmlhttp 的 javascript 加载问题
【发布时间】:2014-03-15 10:23:58
【问题描述】:

您好,我们为所有 aspx 页面使用主模板。在母版页中,我们添加了频繁使用 CSS、JS 的页面,在我们使用的 aspx 页面页面中,我们针对该特定页面使用了 CSS 和 JS。

现在我们正在尝试添加 Jquery Ajax 或 XmlHttp 来优化网站。使用 Jquery ajax 我们将一个 aspx 页面调用到 DIV 中。当我们从 HTML 标记 javascript 加载总的 aspx 页面并且所有脚本工作正常时,这里会出现问题。但是当我们尝试从特定的 DIV 或正文加载该页面时,脚本无法正常工作。

请告诉我在从特定 DIV 或正文加载页面时如何加载脚本。

【问题讨论】:

  • 显示您正在使用的代码,以及脚本如何不工作?您是否在控制台中遇到错误?
  • @PatrickEvans $("#mainContentSwitcher").html($(result).find("#ContentSwitcher").html());当我使用上面的行时,脚本没有被加载。我需要特定 div 的 html 部分

标签: c# javascript jquery asp.net ajax


【解决方案1】:

在您的 aspx 页面中,确保您的 CSS 和 JS 文件没有相对路径。以下是使用相对路径。如果您通过 ajax 请求将文件加载到 div 中,则相对路径将不起作用。

    <link rel="stylesheet" type="text/css" href="../Common/css/myCss.css" media="all" />
    <script type="text/javascript" src="../Common/js/myJs.js"></script>

你必须使用文件的绝对路径

    <link rel="stylesheet" type="text/css" href="<%=Page.ResolveUrl("../Common/css/myCss.css") %>" media="all" />
    <script type="text/javascript" src="<%=Page.ResolveUrl("../Common/js/myJs.js") %>"></script>

试试这个,看看它是否有效。我没有按照你想要的使用方式进行测试。

编辑:

如果您将页面作为 html 字符串接收,则不要这样做:

    $(result).find("#ContentSwitcher").html()

尝试以下方法:

    $.parseHTML(result).find("#ContentSwitcher").html()

注意:$.parseHTML 需要 jquery 1.8.0 或更高版本。

【讨论】:

  • 它不工作。 CSS 文件没有问题,只有 Script 和 JS 文件有问题。
  • 当我从 about.aspx 页面调用我的 admin.aspx 页面时,这对我来说很好: $.ajax(" /Secure/Admin.aspx", { 成功:函数(结果){ $(".content").html(result); } });
  • 是的,加载整个 aspx 页面时没有问题,但我只想要其中的一部分,例如:
    在这种情况下,我只想加载包含脚本代码的 contentSwitcher div
  • 目录“o”是否直接脱离项目的根目录?如果不是,可能是js的路径不对。这是我能想到的唯一其他问题。其他一切看起来都很好。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-13
  • 1970-01-01
相关资源
最近更新 更多