我使用$ .ajax加载页面内容。作为回应,我将整个html文档作为字符串,但我想通过使用div的id从响应中获取唯一特定的div内容。我无法更改响应,我不能使用$ .load方法。提前致谢。
$.ajax({
url: ajax_url,
type: "GET",
dataType: "html"
}).done(function(data) {
}).fail(function(jqXHR, textStatus, errorThrown) {
});
答案 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
});
更多信息:
答案 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');
(注意起始片段选择器字符串处的空格)