gpt4 book ai didi

javascript - 通过 AJAX 获取页面 HTML 的一部分

转载 作者:行者123 更新时间:2023-11-28 20:00:02 25 4
gpt4 key购买 nike

我试图通过 AJAX 获取 ID 为“ajax_container”的 div 内的所有内容。 AJAX 响应包含所有页面 HTML,但是当我使用选择器隔离 div 的内容时,它返回未定义。

 $(".ajax-click").click(function(e){
$.ajax({
url: $(this).attr("href"),
success: function(response) {
alert(response);
var html = $('#ajax_container', response).html();
alert(html);
}
});
e.preventDefault();
});

尝试选择 HTML:

<html>
<body>
<div id="ajax_container">
<p>Content here</p>
</div>
</body>
</html>

最佳答案

如果您只是想获取页面的片段,我建议使用.load https://api.jquery.com/load/

$( "#target" ).load( "ajax/test.html #ajax_container" );

在上面的代码片段中,您正在加载一个名为 test.html 的页面,但只是检索 ID 为 #ajax_container 的元素。

所以你的代码片段看起来像这样:

$(".ajax-click").click(function(e){
// get the element clicked
var $clickedElement = $(this),
pageToLoad = $clickedElement.prop("href");


$( "#ajax_container" ).load( "ajax/test.html " + pageToLoad );

e.preventDefault();
});

您似乎正在尝试实现客户端路由。如果您尝试用 ajax 内容替换容器,那么您应该使用一个库来帮助您实现这一目标。 Path.js 是一个可靠的库。下面是一个带有小示例的链接,它与您想要实现的目标类似。

http://www.javascriptoo.com/path-js

关于javascript - 通过 AJAX 获取页面 HTML 的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21815012/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com