【问题标题】:jQuery Ajax from/to certain DIV with transitionjQuery Ajax 从/到某些带有转换的 DIV
【发布时间】:2014-02-03 15:30:27
【问题描述】:

我当前的代码呈现完整的 HTML 输出,而实际上我只需要某个 DIV 的内容,然后我希望结果淡入。

$(function(){
setInterval(function(){
    $.ajax({
        url: "url",
        cache: false,
        dataType: "html"
    })

    .done(function( html ) {
        $( "#destination" ).html( html );
     });


},1000);
});

编辑:我正在寻找一种使用 $.ajax 来完成这项工作的方法,而不是使用 .load$.get,因为我试图对 AJAX 进行更底层的理解。

【问题讨论】:

  • 您可以尝试此处列出的解决方案以获得正确的语法:stackoverflow.com/a/5979660/1749630
  • 它确实使用'$.get'函数工作,但我真的想让它使用'$.ajax'函数工作,因为它应该给我一个更底层的理解因为我对 AJAX 和 jQuery 都很陌生
  • 使用success 而不是done。我认为done 已被弃用。此外,无论如何,get 只是 ajax 的简写——它是完全相同的调用。我知道你想正确地学习它。为此 +1 :)
  • 为什么匿名投反对票?这是一个不错的问题...
  • 我试过这个:$(function(){ setInterval(function(){ $.ajax({ url: "ajax.html", cache: false, dataType: "html", success: function(html) { var div = $('#2', $(html)).addClass('done'); $('#div1').html(div); } }) },1000); }); 但这给了我一个空白。

标签: jquery html ajax


【解决方案1】:

如果您只想加载某个 div 的内容,您的 url 参数应该类似于:

网址:“/somePage.html #someDiv”

查看here 了解更多信息


编辑

好的,你从来没有说过任何关于运行其他脚本的要求。在这种情况下,上述方法将不起作用。

你现在可以做的就是尝试将你得到的东西转储到一个隐藏的容器中,然后抓住并淡入你需要的东西。

.done(function(data) {
    $("#someContainerSetToDisplayNone").html(html);
    $("#destination").empty().append("#someDiv");
 });

【讨论】:

  • 这不是我正在寻找的解决方案,因为源标题中的其他脚本没有被执行,因此向我显示了错误的内容。我相信唯一的方法是通过 $.ajax -> 成功:但这只会给我一个空白页。
【解决方案2】:

我花了一点时间,但在研究解决方案时,我将它作为一个 jQuery 插件发布在 GitHub 上。

它使用 jQuery/AJAX 和一点 PHP 来清理输出。

https://github.com/remylagerweij/ajaxbrowser

【讨论】:

    猜你喜欢
    • 2011-08-02
    • 2017-11-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-01
    • 1970-01-01
    相关资源
    最近更新 更多