2016-05-07 15 views
1

Ich bin ziemlich neu als Web-Entwickler, ich finde mich selbst versuchen, ein Problem zu lösen.Weitergabe von JavaScript-Wert an PHP

Ich möchte einen Wert JavaScript an PHP übergeben, ohne irgendeine Formmethode zu verwenden.

Hier ist mein PHP-Code (es ist eine Diashow, in der ich ein onclick Ereignis in img Tag, um die ID des Bildes, klicken Sie auf, dann ist die ID-Informationen in einer Variablen in meiner JavaScript-Datei Frage ist: Wie kann ich diese Variable von meiner JavaScript-Datei an PHP übergeben?):

Vielen Dank im Voraus. Mit freundlichen Grüßen,

function getIdImage(clicked_id) 
{ 
    // alert(clicked_id); 

    var ClickedId= clicked_id; 

    } 
<div class="row"> 
    <div class="col-xs-12 col-md-12 col-lg-12 widhest"> 
    <div class="bx_wrapper_photo_below"> 
     <ul id="bx_slider_photo_below" class="bx_viewport_photo_below"> 

     <?php while($line = mysqli_fetch_assoc($outcomesListPhotos1)) {?> 
      <li> 
        <img src="photos/<?php echo utf8_encode($line['photo']); ?>" class="img-responsive" onclick="getIdImage(<?php echo utf8_encode($line['id_photo']);?>)">     
      </li> 

     <?php }?> 
     </ul> 

     <a class="pager-prev_below"><i class="icon-chevron-left"></i></a> 
     <a class="pager-next_below"><i class="icon-chevron-right"></i></a> 
    </div> 
    </div> 
</div> 

Fabio

+0

Was Sie brauchen, ist 'Ajax'. –

+0

Sie wollen mit Ajax oder normale Seite neu laden? –

+0

was Sie genau wollen. Hier gibst du deine Bild-ID von php nach js weiter, was du willst? Erklären Sie richtig. –

Antwort

0

Sie benötigen eine Anfrage zu senden, die Ihre Daten aufnehmen können Sie AJAX verwenden, wie in Kommentar erwähnt.

Hier JQuery Ajax-Beispiel:

$.ajax({ 
    url: "test.html", 
    context: document.body 
}).done(function() { 
    // Available informations 
}); 
2

Wenn Sie einen Standard-Setup verwenden, Ihr PHP-Code wird von Anfang läuft jedes Mal, wenn eine Anfrage beenden zum Server hergestellt wird. Es wird nicht "auf Anfrage" wie der Javascript-Code auf Ihrer Seite ausgeführt. Um einen Wert an ein PHP-Skript zu übergeben, müssen Sie daher eine Anfrage an Ihren Server senden (wo sich der PHP-Code befindet) und den/die gewünschten Wert (e) innerhalb der Anforderungsnutzlast übergeben. Die Anfrage kann über einen einfachen Link, ein normales Formular oder ein XHR gesendet werden. Wenn Sie nicht möchten, dass die Seite neu geladen wird, aber Sie möchten etwas Code auf dem Server ausführen, und wenn das erledigt ist, machen Sie etwas im Browser, dann ist das Werkzeug der Wahl das XHR.

Um ein XHR zu senden, können Sie es von Grund auf neu erstellen oder Sie können eine der vielen verfügbaren Bibliotheken verwenden, was natürlich die empfohlene Route ist. Angenommen, Sie jQuery verwenden möchten:

function getIdImage(clicked_id) 
{  
    jQuery.ajax({ 
     url: '/url/to/my/script.php', 
     type: 'POST', 
     dataType: 'json', 
     data: { clicked_id: clicked_id }, 
     success: function(result) { 
      // This function will be called when the server returns a success (200 OK) response 
      console.log(result); 
      alert('Yay!'); 
     }, 
     error: function(xhr) { 
      // This function is called when the server fails to process the request, for whatever reason 
      console.log(xhr); 
      alert('Nay!'); 
     } 
    }); 
} 

auf Ihrem Server ein Skript haben, werde diese Anforderung zu verarbeiten, das Sie bei der URL zugespitzt, und Sie werden in der Lage zu verwenden, was Nutzlast übergeben wurde an das Skript in der Anfrage

<?php 

$data = json_decode($_POST); 

echo "The ID of the clicked image is: " . $data->clicked_id; 

natürlich ist dieses Beispiel nicht viel tun, wird es zurückkehren nur die eine Antwort hallte String. Je nachdem, was Sie tun möchten, müssen Sie nach einer sinnvollen Berechnung eine Antwort erstellen, und die Antwort sollte wahrscheinlich selbst im JSON-Format sein (mit der guten alten json_encode PHP-Funktion).

0

Sie können die Variablen über das Formular übergeben. Es gibt keine andere Möglichkeit, die PHP-Variablen als Formulare zu übergeben.

Verwandte Themen