【问题标题】:How to handle pagination with JQuery and AJAX?如何使用 JQuery 和 AJAX 处理分页?
【发布时间】:2011-03-21 00:41:22
【问题描述】:

在我的网站上,我有链接 FirstPrevNextLast。这些是由 JQuery 捕获和处理的空链接。但是,对于 AJAX 和 JQuery 来说仍然很新,我不确定如何完成我想要的。我相信我可以使用post 来完成这项工作,但唯一的问题是我希望目标页码以这种格式进入 URL:

http://www.mywebsite.com/index.php?page=3

然后在页面加载时,我将使用 $_GET 变量和页码,我可以从数据库中请求适当的表并将它们显示给用户。

基本上我要问的是如何使用 JQuery 模拟 this 行为。

【问题讨论】:

    标签: php javascript jquery ajax get


    【解决方案1】:

    你可以这样做:

    Javascript:

    发帖:

    function pagination(page) {
        if (!page)
            var page = 1;
    
        $.post("index.php", { page: page }, function(data) {
            // data loaded, do something
       });
    }
    

    或得到

    function pagination(page) {
        if (!page)
            var page = 1;
    
        $.get("index.php?page=" + page, function(data) {
            // data loaded, do something
       });
    }
    

    然后,你只需要调用 javascript 函数:

    <a href="javascript:pagination(1);">Prev</a> <a href="javascript:pagination(2);">Next</a>
    

    【讨论】:

      【解决方案2】:

      只要您从与脚本相同的站点请求此内容,您就可以侥幸逃脱。

      要加载远程内容(谷歌跨站脚本限制),jQuery 有一个简单的功能来做到这一点:

      $('#result').load('ajax/test.html');
      

      这会将test.html 加载到ID 为#ajax 的项目中。很简单。

      为了获取参数,您可以使用此脚本(感谢 http://jquery-howto.blogspot.com/2009/09/get-url-parameters-values-with-jquery.html):

      function getUrlVars()
      {
          var vars = [], hash;
          var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
          for(var i = 0; i < hashes.length; i++)
          {
              hash = hashes[i].split('=');
              vars.push(hash[0]);
              vars[hash[0]] = hash[1];
          }
          return vars;
      }
      

      那里也有使用信息。

      【讨论】:

      • 很抱歉,如果我遗漏了一些东西,但我如何才能在 URL 中得到它?
      • 当 jQuery 执行$.get() 时,它会加载页面并且解析加载页面上的 JavaScript。 JavaScript 是客户端,而不是服务器端。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-03-23
      • 1970-01-01
      • 2012-04-20
      • 2020-10-13
      相关资源
      最近更新 更多