У меня есть сценарий, который должен использовать AJAX для извлечения видео с Youtube, но для этого требуется AJAX для захвата файла PHP. Этот PHP файл нуждается в переменной Javascript для работы, однако я не мог найти способ сделать это на этом веб-сайте. Я нашел способ сделать это с JQuery по этому вопросу Qoura.
Но если вы не хотите идти туда по какой-либо причине (я внес некоторые корректировки в PHP-код, потому что он был создан очень плохо), чтобы сделать переменную Javascript переменной PHP, вы использовали бы это (я не невероятно квалифицированный с jQuery вообще, поэтому я не буду пытаться объяснить это, а также, имейте в виду, что это просто базовые примеры, это легко можно абстрагировать несколькими способами)
var username=$('input').val();
$.ajax({
url:'link_to_php_file',
method:'get',
data:{name:username},
success:function(data)
{
alert("Success");
},
error:function(data)
{
alert("error");
}
});
и PHP для этого
<?php echo $_GET['username'];?>
Однако превращение переменной PHP в переменную Javascript намного проще, но не является заменой вышеизложенного.
<?php echo "<script>showname('". $_GET['username']. "')</script>"
<script>
function showname(username) {
alert(username);
};
</script>
Как использовать переменную PHP внутри кода JavaScript:
<script type="text/javascript>
var stack = <?php echo $overflow; ?>;
</script>
Я имею в виду, что это довольно просто. Этот код должен быть рядом с PHP-кодом, который имеет переменную $ overflow.
Если вам нужна переменная JavaScript внутри PHP-кода, тогда один путь использует AJAX
<script type="text/javascript>
$.ajax({
type: "POST",
url: "http://domain-name.com/ask.php",
data: { name: "Stackoverflow" },
success: function() { alert('Yes, I work'); },
dataType: "json"
});
</script>
Более подробно о JQuery & AJAX вы увидите в официальной документации. Теперь у вас ask.php у вас есть:
$nameForSomethink = $_POST['name'];
После этого вы можете делать все, что вам нужно.
Надеюсь, вы понимаете мою идею.
$.ajax({
url:'link.php',
method:'get',
dataType: "json",
data:{name:youtubevideo},
success:function(data)
{
$('.video').attr("src", data[0]);
},
error:function(data)
{
alert("error");
}
});
<?php
$return = array();
database or other stuff $_GET['name']
foreach ($rows as $row){
array_push($return, $row['url']);
}
echo json_encode($return);
?>
не уверен что-то вроде этого?
$_GET['name']
, как вы его и назвали.