You’ll need to look at the server side logs to see what’s actually causing the 400. Without this, it’s just conjecture. With it, you should see exactly what’s causing the problem.
However, I conjecture that you’re lacking authentication headers, or an authentication request. I’m not seeing anything related to authentication in your AJAX request, and anything POST’ing to admin-ajax.php probably should prove it’s an admin first. Take a look at this:
How do I correctly setup an AJAX nonce for WordPress REST API? . You’ll probably need to adjust it a bit, since it looks like they’re using a public endpoint that wants user authentication, while you’re using an admin endpoint, but in either case you need some sort of authentication (by default.)
Related Posts:
- How can I fetch loop of post titles via AJAX?
- Retrieve POST data from AJAX call
- Do I require the use of nonce?
- WordPress Ajax always returns a 404 error
- problem with ajax and the path to the php page
- How to use wp_localize_script in a WordPress page other than functions.php?
- Security – Ajax and Nonce use [closed]
- Update WordPress Custom Field with AJAX on cached page
- Targeting single page with JS
- Problem with WordPress Ajax form
- Click loads template via ajax
- How to retrieve the content (with a specific ID) via ajax by clicking a link tag
- How to display something in a div when the user clicks on a text in another div – no page refresh [closed]
- How to speed up admin-ajax.php in wordpress
- Returning a value from a PHP page
- Sending jsPDF documents to the server
- Use ajax from function.php
- wp_insert_post() is returning the correct post ID, no failure, but the post content does not get updated
- How to test nonce with AJAX – Plugin development
- Checking for new message using AJAX and PHP. Server overload?
- AJAX request status 200 but no actual “response”
- Ajax loaded form replaces form action with Ajax url
- prevent default not stopping page refresh. Passing form information to and from php with ajax in a wordpress site
- Ajax date_query not working past the first iteration
- Why ajax doesn’t work on certain wordpress hooks and reload the page instead?
- AJAX pagination, update current page
- Save Search System
- adjust section according to country?
- dynamic dependent select dropdown
- Change “add to cart” button color based on Woocommerce product category [closed]
- Ajax request returns ‘Array’. How to output the actual results?
- How to add a do_action on refreshing of WP customizer?
- [jQuery]Adding shortcode
- Display parent and child taxonomies in separate drop down select fields
- Show success or error messages in Ajax response to WordPress custom registration form
- How to add a Custom Mailchimp AJAX Newsletter Subscribe Form
- Fancybox type popup window that’s not an iframe
- WordPress admin-ajax.php 400 bad request
- Ajax contact form return 0
- AJAX – Returning Two JSON Objects with One PHP Function
- Pull GetOption() variable into jQuery dynamically created html
- Add Ajax Hooks and Call from Custom Template PHP
- WordPress Ajax Always returning 0
- How to keep track of when a vote is cast?
- WordPress plugin admin page – using WordPress function in linked php file
- A $_POST should occur when submit form but is not?
- My jQuery Ajax form submit is still refreshing page?
- Shortcode to pull posts
- Ajax search shows all results when user empties input?
- Why i can’t get custom fields value or post ID via Ajax?
- Output votes to div dynamically in wordpress
- Get uploaded image and attach it to the new post
- Admin-ajax php not working on new wordpress version
- Proper way to use WordPress function with AJAX PHP file
- Live search from database table
- Add a counter for mouseovers (custom field)
- Accessing an API with jQuery and AJAX
- Change Query Arguments (filter) with jQuery/Ajax or PHP?
- How to set variables with AJAX request to use in another function in WordPress
- Search Ajax Call – Use Form Data in Response
- Why does PHP called with Jquery AJAX not allow additional php code to be added?
- WordPress cascading dropdown selection search based on Parent Page & Child Page
- Database entry removed on browser refresh, Ajax PHP jQuery
- jquery & ajax getting data from php in wordpress . admin-ajax.php returns 400
- How do I call a value from the datase using ajax
- Ajax result show in console if is called outside function and not showing in array
- Admin-ajax.php 404 error
- Where to add my PHP codes for AJAX Jquery to work?
- How to change PHP variables with AJAX request in WordPress
- How to use wp_ajax_set_post_thumbnail?
- Can’t make lazy load for my site, help!
- How to reload a php script, using AJAX and jQuery
- wp_ajax_ 400 Bad Request
- update_post_meta Not Processing Array Data (Not Sure What I Am Missing)
- Input field duplicates on form submit by jQuery
- How to echo a PHP code into WooCommerce variation product?
- How to call a function from functions.php with ajax?
- Custom theme admin-ajax.php 400 (Bad Request)
- number of posts with “Load More”
- Find the method which AJAX GET calls
- Ajax not updating to database
- WordPress 404 when using AJAX to call php function
- how use php query in AJAX jquery
- Ajax Load more CPT via shortcode
- Submitting my form to the database and then redirecting to payment site
- Pass the updated value of aid from form using ajax
- ajax form with multiple submit buttons and values
- How to run ajax in WordPress Post?
- Adding instant search to wordpress page
- Add php function into .js file (for tinyMCE button)
- best way to communicate between php and jquery/javascript
- Fatal error: Uncaught Error: Call to undefined function wp_nav_menu()
- ajax form function error
- AJAX: WordPress filters inside $html do not work as intended
- Why not showing all post by default in my jquery filter
- Load Meta box value into div AJAX [duplicate]
- ajax problems on loading page [closed]
- Help with AJAX request
- I got this error POST https://localhost/meraboilerwp/[object%20Object] 404 (Not Found)
- custom AJAX filtering logic and outputting results into an Elementor Loop Grid widget