如何用 xhr 做与 load() 相同的事情?

Posted

技术标签:

【中文标题】如何用 xhr 做与 load() 相同的事情?【英文标题】:how to do the same thing that load() with xhr? 【发布时间】:2013-01-13 00:42:23 【问题描述】:

我有这个代码 load:

    $('#single-photo-zoom').load(href+' #content', function() 
        alert("ok");
    );

我想使用$.ajax,但不知道如何在#single-photo-zoom中加载#content

  xhr = $.ajax(
        url: href,
        success: function(data) 
             // ???
        
    );

我想使用$.ajax,因为我希望有可能中止加载。 load 函数是不可能的。

【问题讨论】:

【参考方案1】:

如果您知道负载的作用,那就太容易了。

xhr = $.ajax(
    url: href,
    success: function(data) 
         $('#single-photo-zoom').html(data);
    
);

【讨论】:

这里的数据是什么?我想在$('#single-photo-zoom').html();中加载#content data是ajax调用返回的内容。我认为 charlietfl 版本效果更好【参考方案2】:

首先将数据转换为一个jQuery对象,然后可以从该对象中检索你想要的内容并插入到适当的元素中:

success:function(data)
    var $content=$(data).find('#content');
    $('#single-photo-zoom').html( $content);

编辑:

假设 #content 在另一个父级中,例如 body 或另一个 div 。如果不是整页并且#content 处于根级别,请使用filter() 而不是find()

【讨论】:

以上是关于如何用 xhr 做与 load() 相同的事情?的主要内容,如果未能解决你的问题,请参考以下文章

如何用C#编写一个打字程序,用textbox与richtextbox做

如何用 SQL 表填充 DataTable

如何用R语言for循环形成112358

如何用ajax下载文件

如何用Phoenix框架渲染json?

如何用sqoop将hive分区表信息导入到mysql命令