переменная php для функции ajax

-2

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;
 ?>
  • 2
    Ваш вопрос? В чем ошибка?
  • 5
    Если бы у меня был никель на каждый раз, когда возникал этот вопрос, я мог бы растопить их и построить Voltron. PHP на стороне сервера, Javascript на стороне клиента. Они не разделяют переменные. Единственный способ получить переменную PHP в переменную Javascript - это явно поместить ее туда: var name = '<?php echo $name; ?>'; Единственный способ получить переменную Javascript в переменную PHP - это отправить ее на сервер с помощью запроса GET или POST.
Показать ещё 3 комментария
Теги:

2 ответа

1

Похоже, вы отправляете запрос через POST, а затем пытаетесь получить к нему доступ через GET. Попробуйте изменить его на:

<?php
    $name = $_POST['name'];
?>
1

Извлеките var в скрытый диапазон или введите заглушку оттуда, когда вам это нужно.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню