我想使用$ .ajax()来请求页面,但只加载该页面的片段.我知道你可以使用.load()指定你想要的页面片段但是我想知道这是否可以使用$ .ajax?
Jor*_*ter 35
对于那些想知道的人来说,stoplion指的是这个功能:加载页面碎片(在页面上向下滚动):
与$ .get()不同,.load()方法允许我们指定要插入的远程文档的一部分.这是通过url参数的特殊语法实现的.如果字符串中包含一个或多个空格字符,则假定第一个空格后面的字符串部分是确定要加载的内容的jQuery选择器.
由于$ .get()似乎不支持它,我认为$ .ajax也不会.实现这一点的简单方法如下:
$.ajax({
url: 'http://example.com/page.html',
data: {},
success: function (data) {
$("#el").html($(data).find("#selector"));
},
dataType: 'html'
});
Run Code Online (Sandbox Code Playgroud)
这相当于
$("#el").load('http://example.com/page.html #selector');
Run Code Online (Sandbox Code Playgroud)
但请注意,特殊语法('#selector')表示加载的HTML中存在的脚本不会被执行.请参阅.load()文档中的脚本执行.
您可以通过 post 获取片段,将 html 附加到带有 display: none; 的 div 中。然后使用选择器获取所需的片段并将其附加到您要显示的区域。
航空代码:
<div id="tempRegion" style="display:none;">
</div>
$.ajax({
url: "page.htm",
type: "GET",
success: function(results){
$('#tempRegion').html(results);
...
// Now select fragment, append to display area
var fragement = $('#someFragment').html();
$('#displayRegion').html(fragement);
})
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
13708 次 |
| 最近记录: |