2016-03-25 83 views
4

我想使用PHP函數javascript變量..我的代碼如下在PHP中使用JavaScript變量在jQuery函數

$(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>"); ?>'); 
    }); 
}); 

我想在PHP函數中使用video_val變量..我怎麼能做到這一點?

+3

是的,你可以通過使用AJAX t o任何.php腳本。 – mitkosoft

+2

您正在以非常奇怪的方式混合客戶端和服務器端代碼。在這種情況下,JavaScript和PHP並不相互瞭解,它們在完全不同的主機上完全不同的時間運行。您不要「在PHP中使用JavaScript變量」,而不是「發出AJAX請求」。該請求包含要發送到PHP應用程序的數據。然後,該應用程序可以使用該數據,執行一些操作並響應AJAX請求。客戶端代碼然後處理該響應。 – David

+2

您是否瞭解頁面生命週期以及PHP和JavaScript如何進行交互?在JavaScript代碼運行的時候,它是運行PHP的遲來的方式。 – epascarello

回答

1

是,U可以做到這一點ajax的POST方法..

$(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); 
     } 
    }); 
}); 
}); 

而且在ajax_file。 php寫下面的代碼..

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

對於此解決方案,您可以使用Ajax。當您將您的PHP getYoutubeDurationV3函數放入.php文件中時。

$(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); 
     } 
    }); 
}); 
}); 

而在你的PHP文件,你可以得到的價值是這樣的:

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

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

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