我们有无限的滚动页面,我们从MVC控制器服务器端获得html,即
<li>...</li>
我们需要将下一页网址发送回javascript客户端,以便在用户滚动到底部时,它可以向服务器发出请求以获取下一组列表。
我们在服务器上有下一页网址。 JS客户端需要点击此URL以获取下一组列表。
我没有任何明确的想法如何将此下一页网址从服务器发送到客户端。一种方法是将下一页网址绑定到最后一个<li>...</li>
标记内,并从客户端上的最后一个{{1}}标记中读取它。
有没有更好的方法来解决这个问题?
答案 0 :(得分:1)
我不太确定您的请求的响应当前是什么样的,但如果可能的话,我会从服务器重构您的响应有效负载,如下所示:
{
nextPage: 'someUrl',
data: '<li>...</li>'
}
这样您就不必将URL隐藏到标记中,并且您的视图和控制器逻辑保持分离:)
答案 1 :(得分:0)
在最后一个li标签之后,您可以使用脚本标记并在全局变量中存储next-page-url的值。然后,您可以随时轻松获得该值。
<li>....</li>
<li>....</li>
<li>....</li>
<li>....</li>
<script>nextPageUrl="@Model.nextPageUrl";</script>
这样您就不必在最后一个li标签中绑定URL。
答案 2 :(得分:0)
由于您要返回html,只需在li上的数据标记中返回网址。
<li data-next-page="www.google.com/foo/bar">stuff</li>
然后,使用以下jQuery来下次获取它。
var nextUrl = $('#ulContainer').find('li').last().data('next-page');