2017-12-17 5 views
0

Ich mache derzeit ein Plugin für WordPress, die Ajax ist, eine js-Variable als Daten zu senden. Ich möchte dann diese Variable aus den Daten in meiner PHP-Plugin-Vorlagendatei verwenden können.Senden von JS-Variablen mit AJAX, zu PHP (Und damit)

So hier ist eine detailliertere desc. Ich habe diese showgroups.php

  <?php 
      foreach ($attributes as $term) :?> 
       <a class="testclick" href="#" rel="<?php echo $term->term_taxonomy_id?>"><?php echo $term->name;?></a> 
       <?php 
      endforeach; 
      ?> 

      <script type="text/javascript"> 
      var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>"; 
      var clickedID = ""; 
      $('.testclick').click(function(){ 
       clickedID = $(this).attr('rel'); 
       console.log(clickedID); 
        $.ajax({ 
         type: "GET", 
         url: ajaxurl, 
         data: ({clickedID: clickedID}), 
         success: function(response) { 
         console.log(response); 
         } 
        }); 
       }); 
      </script> 

Also in meinem PHP-Datei mit dem Namen hier ich eine eine ID als int in einige HTML-Tags <a> passieren, und ich stelle die als rel = „“ der Verbindung.

Dann nehme ich in meiner click-Funktion das rel und setze es in eine variable-> clickedID, ich sende dann die AJAX Anfrage, wo ich die Variable-> clickedID in die data Eigenschaft übergebe. In meinem Erfolg Funktion console.log i die Reaktion der <a>, und das mir die richtigen IDs geben (von dem rels meines <a> ‚s) as seen here

jetzt ich versuche, diese Daten zu übergeben/AJAX-Aufruf zu Meine nächste PHP-Datei:

  <?php 
      $lol = $_GET['clickedID']; 
      echo '123' . $lol; 

aber die Variable $ lol ist ein NULL. Hat jemand eine Idee hat, warum ich für den Zugriff nicht scheinen kann, die Daten aus dem Ajax-Aufruf

Antwort

0

ich die rel data-rel HTML5 Dateneigenschaften geändert haben (Reference)

Aktualisiert Code ist wie folgt:

<?php foreach ($attributes as $term): ?> 
     <a class="testclick" href="#" data-rel="<?php echo $term->term_taxonomy_id?>"><?php echo $term->name;?></a> 
<?php endforeach; ?> 

     <script type="text/javascript"> 
      var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>"; 
      var clickedID = ""; 
      $('.testclick').click(function(){ 
       clickedID = $(this).data('rel'); // change over here 
       console.log(clickedID); 
       var dataString = {clickedID: clickedID}; //change over here 
        $.ajax({ 
         type: "POST", // change over here 
         url: ajaxurl, 
         data: dataString , // change over here 
         success: function(response) { 
         console.log(response); 
         } 
        }); 
       }); 
     </script> 
0

<?php 
 
      foreach ($attributes as $term) :?> 
 
       <a class="testclick" href="#" rel="<?php echo $term->term_taxonomy_id?>"><?php echo $term->name;?></a> 
 
       <?php 
 
      endforeach; 
 
      ?> 
 

 
      <script type="text/javascript"> 
 
      var ajaxurl = "<?php echo admin_url('admin-ajax.php'); ?>"; 
 
      var clickedID = ""; 
 
      $('.testclick').click(function(){ 
 
      var clickedID = $(this).attr('rel'); 
 
       console.log(clickedID); 
 
        $.ajax({ 
 
         type: "GET", 
 
         url: ajaxurl, 
 
         data: ({clickedID: clickedID}), 
 
         success: function(response) { 
 
         console.log(response); 
 
         } 
 
        }); 
 
       }); 
 
      </script>

Sie sh sollte wie eine Variable definiert werden, wenn Sie Ihre get ajax Anfrage weitergeben möchten.