【问题标题】:Content is being loaded successfully via ajax. but not showing内容正在通过 ajax 成功加载。但不显示
【发布时间】:2012-12-21 16:13:41
【问题描述】:

我正在玩djax,当我单击锚标记时,url 发生了变化,当我查看页面源代码时,它也发生了变化,但即使我查看页面源代码,页面本身也没有改变它的内容。任何想法为什么?

这是标记的 sn-p

<body>

    <div id="resultContent" class='updatable'></div>
    <ul>
        <li><a id="thankyou" href="views/thankyou.jsp?menuId=2"
            targets="resultContent">Thank You Message</a></li>
    </ul>
</body>

当我单击 url 更改但结果未显示但当我查看页面源时它显示正确的标记(或者我应该说thankyou.jsp 的标记)

这里是js代码

jQuery(document).ready(function($) {
    $('body').djax('.updatable');
});

【问题讨论】:

    标签: javascript jquery ajax html html5-history


    【解决方案1】:

    我遇到了与您完全相同的问题,并在寻找答案时发现了您的问题。对您来说可能为时已晚,但根据您的标记,我相信您遇到了与我相同的问题,这实际上在插件 Github 站点的问题列表中(至少现在是这样)。

    您需要将可更新的 div 放在包装 div 中。出于某种原因,交换内容似乎不适用于 body 的直接子代。见https://github.com/beezee/djax/issues/22

    所以你的 HTML 应该是这样的

    <body>
        <div id="djaxWrap>
            <div id="resultContent" class='updatable'></div>
            <ul>
                <li><a id="thankyou" href="views/thankyou.jsp?menuId=2"
            targets="resultContent">Thank You Message</a></li>
            </ul>
        </div>
    </body>
    

    虽然 jQuery 保持不变

    jQuery(document).ready(function($) {
        $('body').djax('.updatable');
    });
    

    【讨论】:

      猜你喜欢
      • 2012-11-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多