2016-03-25 4 views
4

ich JavaScript-Variable in PHP-Funktion verwenden möchten .. mein Code wie untenVerwendung JavaScript-Variable in PHP in Jquery Funktion

$(document).ready(function() { 
    $("#btn_url").on('click', function() { 
     var video_val = $("#video_url").val(); alert(video_val); 
     alert('<?php echo getYoutubeDurationV3("<script>document.write(video_val);</script>"); ?>'); 
    }); 
}); 

I video_val Variable in PHP-Funktion verwendet werden soll .. wie kann ich das tun ?

+3

ja, können Sie es mit AJAX t übergeben o irgendein .php Skript. – mitkosoft

+2

Sie mischen clientseitigen und serverseitigen Code auf sehr seltsame Weise. JavaScript und PHP kennen sich in diesem Kontext nicht, sie laufen zu völlig unterschiedlichen Zeiten auf völlig unterschiedlichen Hosts. Sie verwenden "keine JavaScript-Variable in PHP" statt "eine AJAX-Anfrage stellen". Diese Anfrage enthält die Daten, die Sie an die PHP-Anwendung senden möchten. Diese Anwendung kann dann diese Daten verwenden, einige Operationen ausführen und auf die AJAX-Anfrage antworten. Der clientseitige Code verarbeitet dann diese Antwort. – David

+2

Verstehen Sie den Seitenlebenszyklus und wie interagieren PHP und JavaScript? Zu dem Zeitpunkt, zu dem der JavaScript-Code ausgeführt wurde, ist es zu spät, PHP auszuführen. – epascarello

Antwort

1

ja, u dass durch Ajax-Post-Methode tun ..

$(document).ready(function() { 
$("#btn_url").on('click', function() { 
    var video_val = $("#video_url").val(); alert(video_val); 
    $.ajax({ 
     url: 'ajax_file.php', 
     data: {duration: video_val}, 
     type: 'POST', 
     success: function(data) { 
      alert(data); 
     } 
    }); 
}); 
}); 

Und in ajax_file. php schreiben unter code ..

<?php 
$duration = $_POST['video_val']; 
return $duration ; 
?> 
2

Sie können Ajax für diese Lösung verwenden. Wenn Sie Ihre PHP getYoutubeDurationV3 Funktion in eine .php Datei platzieren.

$(document).ready(function() { 
$("#btn_url").on('click', function() { 
    var video_val = $("#video_url").val(); alert(video_val); 
    $.ajax({ 
     url: 'yourphpscript.php', 
     data: {duration: video_val}, 
     type: 'POST', 
     success: function(data) { 
      alert(data); 
     } 
    }); 
}); 
}); 

Und in Ihrer PHP-Datei, die Sie den Wert wie folgt zu erreichen:

<?php 
$duration = $_POST['video_val']; 

//rest of your logic, in your case your function 

//return your response back to your webpage. 
return $response; 
?>