Javascript MVC:如何将html中的下一页url传递回客户端?
我们有无限滚动页面,我们从MVC conroller服务器端获取html,即Javascript MVC:如何将html中的下一页url传递回客户端?,javascript,jquery,asp.net,asp.net-mvc,infinite-scroll,Javascript,Jquery,Asp.net,Asp.net Mvc,Infinite Scroll,我们有无限滚动页面,我们从MVC conroller服务器端获取html,即 <li> ... </li> <li> ... </li> <li> ... </li> <li> ... </li> 我们需要将下一页url发送回javascript客户端,这样,如果用户滚动到底部,它就可以向服务器发出请求以获取下一组列表 我们在服务器上有下一页url。JS客户端需要点击这个URL来获取下一组
<li> ... </li>
<li> ... </li>
<li> ... </li>
<li> ... </li>
李>
李>
李>
李>
我们需要将下一页url发送回javascript客户端,这样,如果用户滚动到底部,它就可以向服务器发出请求以获取下一组列表
我们在服务器上有下一页url。JS客户端需要点击这个URL来获取下一组列表
我不清楚如何将下一页url从服务器发送到客户端。一种方法是将下一页url绑定到最后一个.. 标记中,并从客户端上的最后一个.. 标记中读取它
有没有更好的方法来解决这个问题?我不太确定您的请求的响应当前是什么样子的,但如果可能,我会从服务器上重新构造您的响应负载,使其看起来像:
{
nextPage: 'someUrl',
data: '<li>...</li>'
}
{
下一页:'someUrl',
数据:“… ”
}
这样,您就不必将URL隐藏到标记中,视图和控制器逻辑保持分离:)在最后一个li标记之后,您可以使用脚本标记并将下一页URL的值存储在全局变量中。然后,您可以随时轻松获得该值
<li>....</li>
<li>....</li>
<li>....</li>
<li>....</li>
<script>nextPageUrl="@Model.nextPageUrl";</script>
nextPageUrl=“@Model.nextPageUrl”;
这样,您就不必在最后一个li标记中绑定URL。因为您要返回html,只需在li上的数据标记中返回URL即可
<li data-next-page="www.google.com/foo/bar">stuff</li>
你是在发回原始数据还是已经是html格式了?从MVC控制器发回html如果你发回html,我会在最后放一个隐藏的li,上面有一个数据属性和url<编码>
,然后使用jquery拦截url.Correct。但我们也希望在禁用javascript的浏览器上加载页面。如果我们开始发回JSON响应而不是HTML,它将停止在禁用JS的浏览器上工作。我们还有其他优雅的方法可以解决这个问题吗?无限卷轴如何在禁用JS的浏览器上工作?我不是要在初始页面请求中发送下一页URL,只是为了查询下一个元素的后续请求。我认为可以将这些查询与请求HTML页面的方式分开,这将创建一个全局javascript变量。我们也可以通过在div标记中使用nextPageUrl来实现这一点。我不确定哪一个更好,但是访问JS的变量比从div标签访问值快得多。
var nextUrl = $('#ulContainer').find('li').last().data('next-page');