使用ajax加载特定的div内容

时间:2015-10-19 09:07:16

标签: javascript jquery ajax

我使用$ .ajax加载页面内容。作为回应,我将整个html文档作为字符串,但我想通过使用div的id从响应中获取唯一特定的div内容。我无法更改响应,我不能使用$ .load方法。提前致谢。

$.ajax({ 
    url: ajax_url, 
    type: "GET", 
    dataType: "html" 
}).done(function(data) {
}).fail(function(jqXHR, textStatus, errorThrown) { 
});

5 个答案:

答案 0 :(得分:1)

$.ajax( { method: "POST", url: sendURL, data: {data: facArray}, success: function(response) { console.log(response); $("#facform").submit(); } }); 方法中:

.done()

答案 1 :(得分:1)

您可以使用与当前页面的DOM相同的方式遍历从请求返回的HTML。试试这个:

$.ajax({ 
    url: ajax_url, 
    type: "GET", 
    dataType: "html" 
}).done(function(html) {
    var $divToFind = $(html).find('#myDiv');
    $divToFind.appendTo('#targetElement');
}).fail(function(jqXHR, textStatus, errorThrown) { 
    // handle the error...
});

或者,您可以使用内置此功能的load()方法:

$('#targetElement').load(ajax_url + ' #myDiv');

答案 2 :(得分:0)

您可以使用DOM解析器。

$.ajax().success(function(data) {

  var parser = new DOMParser();
  var doc = parser.parseFromString(data, "application/xml");

  // doc is a DOM now

});

更多信息:

https://developer.mozilla.org/es/docs/Web/API/DOMParser

答案 3 :(得分:0)

当AJAX返回纯文本时,您可以将其转换为jQuery DOM元素,修改它并将(或替换HTML)附加到HTML。

例如,这样:

$.ajax({ 
    url: ajax_url, 
    type : "GET", 
    dataType : "html" 
}).done(function(data) { 
    var obj = $(data);
    $("#yourdiv").html(obj.find(".something").html());
}).fail(function(jqXHR, textStatus, errorThrown) { 

});

我使用过.find(".something"),因为我不知道收到邮件的格式。您可以使用任何jQuery方法。

答案 4 :(得分:0)

你想要的基本上是使用页面框架的ajax速记方法load()

$('#divToAddContent').load(ajax_url + ' #divToGetContent');

(注意起始片段选择器字符串处的空格)