Title: WP_List_Table::ajax_response
Published: April 25, 2014
Last modified: May 20, 2026

---

# WP_List_Table::ajax_response()

## In this article

 * [Source](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#source)
 * [Related](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#related)
 * [Changelog](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#changelog)

[ Back to top](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#wp--skip-link--target)

Handles an incoming ajax request (called from admin-ajax.php)

## 󠀁[Source](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#source)󠁿

    ```php
    public function ajax_response() {
    	$this->prepare_items();

    	ob_start();
    	if ( ! empty( $_REQUEST['no_placeholder'] ) ) {
    		$this->display_rows();
    	} else {
    		$this->display_rows_or_placeholder();
    	}

    	$rows = ob_get_clean();

    	$response = array( 'rows' => $rows );

    	if ( isset( $this->_pagination_args['total_items'] ) ) {
    		$response['total_items_i18n'] = sprintf(
    			/* translators: Number of items. */
    			_n( '%s item', '%s items', $this->_pagination_args['total_items'] ),
    			number_format_i18n( $this->_pagination_args['total_items'] )
    		);
    	}
    	if ( isset( $this->_pagination_args['total_pages'] ) ) {
    		$response['total_pages']      = $this->_pagination_args['total_pages'];
    		$response['total_pages_i18n'] = number_format_i18n( $this->_pagination_args['total_pages'] );
    	}

    	die( wp_json_encode( $response ) );
    }
    ```

[View all references](https://developer.wordpress.org/reference/files/wp-admin/includes/class-wp-list-table.php/)
[View on Trac](https://core.trac.wordpress.org/browser/tags/7.0/src/wp-admin/includes/class-wp-list-table.php#L1826)
[View on GitHub](https://github.com/WordPress/wordpress-develop/blob/7.0/src/wp-admin/includes/class-wp-list-table.php#L1826-L1853)

## 󠀁[Related](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#related)󠁿

| Uses | Description | 
| [WP_List_Table::display_rows()](https://developer.wordpress.org/reference/classes/wp_list_table/display_rows/)`wp-admin/includes/class-wp-list-table.php` |

Generates the list table rows.

  | 
| [WP_List_Table::display_rows_or_placeholder()](https://developer.wordpress.org/reference/classes/wp_list_table/display_rows_or_placeholder/)`wp-admin/includes/class-wp-list-table.php` |

Generates the tbody element for the list table.

  | 
| [WP_List_Table::prepare_items()](https://developer.wordpress.org/reference/classes/wp_list_table/prepare_items/)`wp-admin/includes/class-wp-list-table.php` |

Prepares the list of items for displaying.

  | 
| [_n()](https://developer.wordpress.org/reference/functions/_n/)`wp-includes/l10n.php` |

Translates and retrieves the singular or plural form based on the supplied number.

  | 
| [wp_json_encode()](https://developer.wordpress.org/reference/functions/wp_json_encode/)`wp-includes/functions.php` |

Encodes a variable into JSON, with some confidence checks.

  | 
| [number_format_i18n()](https://developer.wordpress.org/reference/functions/number_format_i18n/)`wp-includes/functions.php` |

Converts float number to format based on the locale.

  |

[Show 2 more](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#)
[Show less](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#)

| Used by | Description | 
| [wp_ajax_fetch_list()](https://developer.wordpress.org/reference/functions/wp_ajax_fetch_list/)`wp-admin/includes/ajax-actions.php` |

Handles fetching a list table via AJAX.

  |

## 󠀁[Changelog](https://developer.wordpress.org/reference/classes/wp_list_table/ajax_response/?output_format=md#changelog)󠁿

| Version | Description | 
| [3.1.0](https://developer.wordpress.org/reference/since/3.1.0/) | Introduced. |

## User Contributed Notes

You must [log in](https://login.wordpress.org/?redirect_to=https%3A%2F%2Fdeveloper.wordpress.org%2Freference%2Fclasses%2Fwp_list_table%2Fajax_response%2F)
before being able to contribute a note or feedback.