0

我是 AJAX 和 JS 的初学者,所以请多多包涵。

我使用这个 AJAX 进行分页:

 $(function () {
     var keyword = window.localStorage.getItem("keyword");

     //pagination
     var limit = 3;
     var page = 0;
     var offset = 0;

     $("#btnLoad").on('click', function () {
         page++;
         if (page != 0)
             offset = (page - 1) * limit;

         $.ajax({
             url: "http://localhost/jwmws/index.php/jwm/search/msmall/" + keyword + "/" + limit + "/" + offset, //This is the current doc
             type: "GET",
             error: function (jq, st, err) {
                 alert(st + " : " + err);
             },
             success: function (result) {
                 alert("offset=" + offset + " page =" + page);
                 //generate search result
                 $('#search').append('<p style="float:left;">Search for : ' + keyword + '</p>' + '<br/>' + '<p>Found ' + result.length + ' results</p>');

                 if (result.length == 0) {
                     //temp
                     alert("not found");
                 } else {
                     for (var i = 0; i < result.length; i++) {
                         //generate <li>
                         $('#list').append('<li class="box"><img class="picture" src="images/HotPromo/tagPhoto1.png"/><p class="name"><b>Name</b></p><p class="address">Address</p><p class="hidden"></p></li>');
                     }

                     var i = 0;
                     $(".box").each(function () {
                         var name, address, picture, id = "";
                         if (i < result.length) {
                             name = result[i].name;
                             address = result[i].address;
                             picture = result[i].boxpicture;
                             id = result[i].mallid;
                         }

                         $(this).find(".name").html(name);
                         $(this).find(".address").html(address);
                         $(this).find(".picture").attr("src", picture);
                         $(this).find(".hidden").html(id);
                         i++;
                     });

                     $(".box").click(function () {
                         //alert($('.hidden', this).html());
                         window.localStorage.setItem("id", $('.hidden', this).html());
                         $("#pagePort").load("pages/MallDetail.html", function () {});
                     });

                 }
             }
         });
     }).trigger('click');

 });

请注意,我在url:. 我试图提醒页面和偏移变量,它工作正常。

但是,AJAX 仅适用于第一页(页面加载时)。即使 page 和 offset 变量的值为 true,其余部分也不起作用。

控制台中没有警告/错误。只是没有显示数据。

任何帮助表示赞赏,谢谢:D

4

1 回答 1

-1

当整个 HTML 缺失时,调试代码有点困难。您能否将代码放入JSFiddle中,包括 HTML 和 JS。

于 2013-08-02T13:28:10.983 回答