WordPress myAjax ist nicht definiert

Lesezeit: 2 Minuten

Benutzer-Avatar
Maddie

Ich arbeite in einem untergeordneten Thema und füge den folgenden Code für Admin Ajax Js ein

function wpb_adding_scripts() {
/*  echo "string". get_stylesheet_directory_uri().'/css/jquery.bxslider.css';
    exit();*/
    wp_register_script('flexslider', get_stylesheet_directory_uri() . '/js/jquery.flexisel.js', array('jquery'),'1.1', true);
    wp_enqueue_script('flexslider');
    wp_enqueue_script('bxslider', get_stylesheet_directory_uri() . '/js/jquery.bxslider.min.js', array(),true, true);
    wp_enqueue_script('bxslider');

    wp_enqueue_script('custom', get_stylesheet_directory_uri() . '/js/custom.js', array(),true, true);
    wp_enqueue_script('custom');
    //wp_localize_script('admin_script', 'ajaxurl', admin_url( 'admin-ajax.php' ) );

    wp_localize_script('admin_script', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));
    wp_enqueue_script( 'jquery' );
    wp_enqueue_script('admin_script');

} 

add_action( 'wp_enqueue_scripts', 'wpb_adding_scripts', 999 );

aber es gab mir Fehler wie

ReferenceError: myAjax is not defined
    url : myAjax.ajaxurl,

Ich habe myAjax-Deklaration in meinem benutzerdefinierten js verwendet.

jQuery('#load_more_posts').on('click',function(){
    var lng =jQuery(".post_item").length;

    jQuery.ajax({
      type : "post",
      url : myAjax.ajaxurl,
       data : {action: "load_more_posts_home",count : lng},
 }).done(function(response){
      var posts = JSON.parse(response);

      for( var i = 0; i < posts.length; i++ )
      {
        if( posts[i] == "0" )
          jQuery("#load_more_posts").fadeOut();
        else
          jQuery("#load_more_posts").before(posts[i]);
      }

    });
});

Wie kann ich dieses Problem in meinem WordPress-Child-Theme lösen?

  • kann ich Ihre Deklaration Ihrer myAjax-Variablen sehen

    – Anfänger

    30. November 2016 um 5:47 Uhr


  • Ich habe die Erklärung von myAjax in meine Frage eingefügt.

    – Maddie

    30. November 2016 um 5:49 Uhr

Benutzer-Avatar
vrajesch

Versuche dies:

wp_enqueue_script('custom'); //Name of the script. Should be unique.here is 'custom'
wp_localize_script('custom', 'myAjax', array( 'ajaxurl' => admin_url( 'admin-ajax.php' )));  // remove admin_script and add unique javascript file.

Der obige Code hat das Objekt „myAjax“ im Skript „custom“ lokalisiert. und Sie können auf die Eigenschaft „ajax_url“ zugreifen, indem Sie den folgenden Code in die benutzerdefinierte Skriptdatei einfügen.

in custom.js

alert(myAjax.ajaxurl);

Anstatt von admin_script verwenden ajax-script so was

wp_localize_script( 'ajax-script', 'myAjax',array( 'ajax_url' => admin_url( 'admin-ajax.php' ) ) );

Andernfalls können Sie hinzufügen wp_enqueue_script('ajax-script'); bevor Sie Ihre Ajax-Skript-Lokalisierungsfunktion definiert haben.

1355020cookie-checkWordPress myAjax ist nicht definiert

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy