First, everyone doesn’t say that. Everyone says to use admin-ajax.php
for ajax, which is it’s meant for, not form submissions precisely. It’s not as popular and well covered, but there is actually different endpoint for form submission — admin-post.php
.
The reasons are, however, same. What you cannot do in your plugin is reliably load WordPress core. When WordPress core loads plugins it composes coherent reliable environment, but it doesn’t work the other way around.
The point of using core–provided endpoints is precisely to rely on that environment.
Related Posts:
- PHP “php://input” vs $_POST
- Google Maps API throws “Uncaught ReferenceError: google is not defined” only when using AJAX
- Access-Control-Allow-Origin error sending a jQuery Post to Google API’s
- Access-Control-Allow-Origin error sending a jQuery Post to Google API’s
- How to solve the error “SCRIPT7002: XMLHttpRequest: Network Error 0x80070005, Access is denied.” in IE
- Show spinner GIF during an $http request in AngularJS?
- Refresh HTML Page in Browser Automatically on Timer – Every 15 Min
- JavaScript implementation of Gzip
- jQuery: Performing synchronous AJAX requests
- ASP.NET MVC controller actions that return JSON or partial html
- jQuery’s .on() method combined with the submit event
- Ajax takes 10x as long as it should/could
- How to check if I am in admin-ajax.php?
- Best way to end WordPress ajax request and why?
- How to load wp_editor() through AJAX/jQuery
- How to cache json with wp-super cache
- Load minimum WordPress environment
- Why use wp_send_json() over echo json_encode()?
- Why use admin-ajax.php and how does it work?
- How to get a unique nonce for each Ajax request?
- Open a Thickbox with content trough AJAX
- Initialize TinyMCE editor / visual editor after AJAX insert
- Why not register shortcodes if is_admin dashboard?
- WordPress AJAX with Axios
- Why is die() used at the end of function that handles an Ajax request?
- Why might a plugin’s ‘do_shortcode’ not work in an AJAX request?
- Making my AJAX powered WordPress Crawlable
- Is there a JavaScript API? How to access public and private data in JS?
- Get Previous & Next posts by Post ID
- failed to load wp-admin/admin-ajax.php
- Using Backbone with the WordPress AJAX API
- Using Ajax with a Class file
- Ajax in a settings page (update_option is undefined)
- How to pass data parameter to ajax action function handler
- WordPress Ajax Data Security
- Displaying PHP Errors from admin-ajax.php
- wp_set_auth_cookie() doesn’t work in Ajax call
- gettext does not translate when called in ajax
- Execute one AJAX request after another AJAX request finished
- WP-AJAX vs WP REST API: What to use for requests to the website from outside?
- Ajax and autocomplete
- How to add to cart via AJAX Woocommerce [closed]
- Nonces and Cache
- SSL breaks customizer: page isn’t returned from ajax
- Why is a 500 error generated by admin-ajax.php not going into the Apache error log?
- Are ‘wp_ajax’ and ‘wp_ajax_nopriv’ exclusive to authenticated and non-authenticated users?
- How to HTML5 FormData Ajax
- admin-ajax.php vs Custom Page Template for Ajax Requests
- How to override WP_DEBUG for Ajax responses?
- Stop admin-ajax?
- redirect out of wp-admin, without losing admin-ajax.php
- Call to undefined function add_action()
- Is it safe to assume that a nonce may be validated more than once?
- Including WordPress in RESTful API
- Multiple ajax nonce requests
- Get posts with ajax
- admin-ajax.php doesn’t work when using POST data and Axios
- How to call a PHP function with Ajax when the user clicks a button
- REST API endpoint for elasticpress autosuggest
- Ajax for non-logged-in users
- Contact Form 7 Custom Post Action
- Custom Form with Ajax
- How to process ajax requests correctly using ajax plugins
- ajax – why multiple calls to wp_create_nonce() return same value?
- Update user meta using with ajax
- Registering AJAX callback function that is part of a class without instantiating the class in function.php
- WordPress function that makes HTML safe to be sent via AJAX request
- How do I hook an Ajax request into a PHP callback?
- AJAX request on the frontend always returns 0 if user is not admin
- admin-ajax.php returns 0. How do I debug it and fix it?
- Ajax requests without JQuery
- Admin Notification after save_post, when ajax saving in gutenberg
- How to properly use wp.ajax.post?
- Load tinyMCE / wp_editor() via AJAX [duplicate]
- How to tie built in AJAX to an add_action?
- Using Nonces for AJAX that only retrieves data
- WordPress AJAX Login Screen
- AJAX vs Fragment Caching for W3 Total Cache [closed]
- Saving (Updating) Post / Page Edits With AJAX
- Is there any way of of making an admin-ajax request without the use of die()?
- How to verify nonce from Bulk/Quick Edit in save_post?
- Using ajax on categories and wordpress loops
- Custom PHP endpoint for a plugin’s AJAX call
- Detecting post type within init action
- Ajax request returning full page code
- Basic question on passing variables to AJAX in WordPress
- Cannot load admin-ajax.php. No access-control allow origin*
- Initialize JS with an ajax loaded ACF form
- WordPress embeds in AJAX inserted content
- How do I send an ajax request and get a response back from a function?
- admin-ajax.php vs .load() in WordPress
- Delete row of custom table in WordPress using AJAX
- jQuery Autocomplete in WordPress
- How to link WordPress heartbeat to ajax form
- How can I get logged in user’s session data from admin-ajax?
- How-to debug wp_ajax_* hook callback?
- Metabox cloning via Admin Ajax call issue
- Gutenberg – how to correctly perform ajax request on backend
- get_template_part execute with ajax
- How to add WordPress nonces to ajax request