Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript MVC:如何将html中的下一页url传递回客户端?_Javascript_Jquery_Asp.net_Asp.net Mvc_Infinite Scroll - Fatal编程技术网

Javascript MVC:如何将html中的下一页url传递回客户端?

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来获取下一组

我们有无限滚动页面,我们从MVC conroller服务器端获取html,即

<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');