# betterdocs/4.9.5/react-src/admin/utils/ajaxRequest.js

BetterDocs – AI Documentation, Knowledge Base, MCP Server, Docs, Wikis, FAQ &amp; Chatbot, version 4.9.5. 45 lines.

- Page: https://pluginprobe.com/plugins/betterdocs/4.9.5/code/react-src/admin/utils/ajaxRequest.js
- Raw: https://pluginprobe.com/plugins/betterdocs/4.9.5/raw/react-src/admin/utils/ajaxRequest.js
- Modified: 2026-10-12T10:07:14+00:00

Line numbers below start at 1. Link to a line or a range by appending a fragment to the
page URL, for example `https://pluginprobe.com/plugins/betterdocs/4.9.5/code/react-src/admin/utils/ajaxRequest.js#L10-L20`.

```javascript
import apiFetch from "@wordpress/api-fetch";

/**
 * Send Ajax Request To The Server
 *
 * @param {object} data
 * @param {string} url
 * @param {string} method
 *
 */
export function ajaxRequest(data, url, method, parse) {
    return apiFetch({
        url:url,
        body:data,
        method:method,
        parse:parse,
    });
}

/**
 * Construct Data Using FormData(Applicable for only grid view admin panel, Do not use this function on other projects)
 *
 * @param {object} object
 *
 */
export function constructFormData(object) {
    let formData = new FormData();

    for( const key in object ) {
        if( Array.isArray( object[key] ) ) {
            for( let value of object[key] ) {
                if( value?.hasOwnProperty('id') ) {
                    formData.append(`${key}[]`, value?.id);
                } else {
                    formData.append(`${key}[]`, value);
                }
            }
        } else {
            formData.append(`${key}`, object[key]);
        }
    }

    return formData;
}

```
