hi im пытается получить доступ к переменной php в функции ajax, но, видимо, она не работает... Я использовал событие onClick для активации функции ajax, где я передаю свою локальную переменную php в качестве параметра аргумента...
<?php
$name = $_GET['name'];
?>
<html>
<head>
<script language="JavaScript" type="text/javascript">
function ajax_post(x){
var nm = x;
var hr = new XMLHttpRequest();
var url = "my_parse_file.php";
var fn = document.getElementById("first_name").value;
var vars = "todo="+fn+"&name="+nm;
hr.open("POST", url, true);
hr.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
hr.onreadystatechange = function() {
if(hr.readyState == 4 && hr.status == 200) {
var return_data = hr.responseText;
document.getElementById("status").innerHTML = return_data;
}
}
hr.send(vars); // Actually execute the request
document.getElementById("status").innerHTML = "processing...";
}
</script>
</head>
<body>
<?php
$display =' Name of list:;
echo <label for="name"></label>
<input type="text" name="name" id="name">
</p>
<p>Name of item:
<input id="first_name" name="first_name" type="text" />
<br /><br />
<input name="myBtn" type="submit" value="Submit Data" onClick="javascript:ajax_post(' . $name . ');">
</p>
<p>Your list has been succesfully created.</p>
<form name="form1" method="post" action="">
<input type="submit" name="AddItem" id="AddItem" value="Add Items">
</form>
<p><br />
<br />
</p>
<div id="status"></div>
</body>
</html>';
?>
<?php
echo $display;
?>
Похоже, вы отправляете запрос через POST, а затем пытаетесь получить к нему доступ через GET. Попробуйте изменить его на:
<?php
$name = $_POST['name'];
?>
Извлеките var в скрытый диапазон или введите заглушку оттуда, когда вам это нужно.
var name = '<?php echo $name; ?>';
Единственный способ получить переменную Javascript в переменную PHP - это отправить ее на сервер с помощью запроса GET или POST.