# Pagination for Ajax methods

**URL:** <https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181>\
**Category:** Need Help\
**Created:** [March 2, 2017, 3:53am UTC](https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181 "2017-03-02T03:53:37Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![aavrug](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/aavrug/32/178_2.png) [@aavrug](https://discourse.cakephp.org/u/aavrug)\
**Post date:** [March 2, 2017, 3:53am UTC](https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181/1 "2017-03-02T03:53:37Z")

</div>

I have an Ajax method in CakePHP-3.4 within that I am using paginate for the custom query which is returning proper results. Now I am trying to set the pagination in the view for the ajax response. How to do that?

---

<div class="post-metadata">

**Author:** ![raul338](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/raul338/32/69_2.png) [@raul338](https://discourse.cakephp.org/u/raul338)\
**Post date:** [March 4, 2017, 2:02pm UTC](https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181/2 "2017-03-04T14:02:17Z")

</div>

You can look at this [sandbox example](http://sandbox.dereuromark.de/sandbox/ajax-examples/pagination)

or what I done as a quick hack, wrap everything non paginated in a if

```php
<?php if (!$this->request->is('ajax')): ?>
.... // headers an options
<?php
endif;
foreach ($models as $model): ?>
    // Ajax content, list
<?php endforeach; ?>
// more content, like a footer

```

And then replace the “inner content” div with the next ajax call

---

<div class="post-metadata">

**Author:** ![aavrug](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/aavrug/32/178_2.png) [@aavrug](https://discourse.cakephp.org/u/aavrug)\
**Post date:** [March 6, 2017, 7:30am UTC](https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181/3 "2017-03-06T07:30:09Z")

</div>

Thanks, But I got a work around and fix that.

---

<div class="post-metadata">

**Author:** ![anhtu032](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@anhtu032](https://discourse.cakephp.org/u/anhtu032)\
**Post date:** [March 27, 2017, 7:19am UTC](https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181/4 "2017-03-27T07:19:42Z")

</div>

Hi,  
Can you give me ajax\_pagination source code or guide ajax\_pagination ?  
myemail: [anhtu032@gmail.com](mailto:anhtu032@gmail.com).  
Thanks.

---

<div class="post-metadata">

**Author:** ![aavrug](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/aavrug/32/178_2.png) [@aavrug](https://discourse.cakephp.org/u/aavrug)\
**Post date:** [March 27, 2017, 7:37am UTC](https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181/5 "2017-03-27T07:37:39Z")

</div>

I am unable to share the exact code but I can help you what exactly I used. I used [https://github.com/botmonster/jquery-bootpag](https://github.com/botmonster/jquery-bootpag) and then fetched the page count in the response of the ajax method also reload the content where the pagination was in `on('page'` event of `bootpag`.

---

<div class="post-metadata">

**Author:** ![anhtu032](https://avatars.discourse-cdn.com/v4/letter/a/df705f/32.png) [@anhtu032](https://discourse.cakephp.org/u/anhtu032)\
**Post date:** [March 27, 2017, 8:23am UTC](https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181/6 "2017-03-27T08:23:55Z")

</div>

Thanks aavrug,

I did it but i dont use query bootpag, I use jquery and requestHandler of Cakephp.

---

<div class="post-metadata">

**Author:** ![aavrug](https://yyz1.discourse-cdn.com/flex029/user_avatar/discourse.cakephp.org/aavrug/32/178_2.png) [@aavrug](https://discourse.cakephp.org/u/aavrug)\
**Post date:** [March 27, 2017, 8:25am UTC](https://discourse.cakephp.org/t/pagination-for-ajax-methods/2181/7 "2017-03-27T08:25:24Z")

</div>

Try to use bootpag because I got this easy for my situation and it is running smoothly with that.
