400 Bad Request and ajax path
-
I’m getting a 400 bad request when trying to call an ajax file. Most posts I’ve looked at for this problem said it was due to the path being wrong. In my example code below I show where I output the path in the js file and myscript.myajaxurl has the full url – https://mydomain.com/blog/wp-admin/admin-ajax.php – so it is correct, as far as I know. Would someone point out my mistake, please?
<?php /** Plugin Name: My Script **/ add_action( 'admin_menu' , 'My_script'); function My_script(){ $page_title = 'My_script'; $menu_title = 'My_script'; $capability = 'manage_options'; $menu_slug = 'myscript_viewer'; $function = 'myscript_functions'; add_menu_page( $page_title, $menu_title, $capability, $menu_slug, $function ); add_submenu_page( $menu_slug, $page_title, 'Panel', 'manage_options', 'myscript-panel-submenu-page', 'myscript_panel_page' ); } function myscript_functions(){ } function myscript_panel_page() { require_once dirname( __FILE__ ) . '/includes/class-myscript-settings.php'; $page = new Myscript_Settings( plugin_basename( __FILE__ ) ); ?> <div class="wrap"> <h1><?php esc_html_e( 'My Script Panel', 'myscript-viewer' ); ?></h1> <?php $page->DisplayPanel(); ?> </div> <?php } function myscript_load_scripts() { wp_enqueue_script('myscript', plugin_dir_url(__FILE__) . 'js/myscript.js'); wp_localize_script( 'myscript', 'myscript', array('myajaxurl' => admin_url( 'admin-ajax.php' ) ) ); wp_enqueue_script( 'myscript' ); } add_action('admin_enqueue_scripts', 'myscript_load_scripts', 100); class Myscript_Settings { public function __construct( $plugin_basename ) { } public function DisplayPanel() { ?> <div id="run-myscript"><button>Run</button></div> <?php } } //file js/myscript.js jQuery(document).ready(function($) { jQuery("#run-myscript").click(function(){ console.log('path '+myscript.myajaxurl); jQuery.post( myscript.myajaxurl, { status: true, extract: true }) }); });
Viewing 4 replies - 1 through 4 (of 4 total)
Viewing 4 replies - 1 through 4 (of 4 total)
- The topic ‘400 Bad Request and ajax path’ is closed to new replies.