2012-02-29 93 views
-3

嗨即时尝试访问ajax函数中的php变量,但显然它不工作......我已经使用onClick事件来激活ajax函数,我通过我的本地PHP变量作为参数参数...php变量为ajax函数

<?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

您的问题是?什么是错误? – 2012-02-29 22:50:42

+5

如果我每次出现这个问题都有镍,我可以将它们全部熔化并建立Voltron。 PHP是服务器端,Javascript是客户端。他们不分享变数。将PHP变量放入一个Javascript变量的唯一方法是明确地将它放在那里:var name ='<?php echo $ name; ?>';'将一个Javascript变量放入PHP变量的唯一方法是通过GET或POST请求将其发送到服务器。 – 2012-02-29 22:53:13

+0

@Justinᚅᚔᚈᚄᚒᚔ - 谢谢我以前曾尝试使用过的方法,但是我的语法错了... – higfox 2012-02-29 22:59:33

回答

1

将var回显为隐藏范围或在需要时从其中输入一个障碍。

1

它看起来像你通过POST发送请求,然后尝试通过GET访问它。尝试将其更改为:

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