繁体   English   中英

AJAX,PHP和多个变量(非JQuery)

[英]AJAX, PHP and multiple variables (Not JQuery)

我有一个PHP文件,上面有一些单选输入,我想通过AJAX(非JQuery)调用创建两个变量(文本字符串和整数),我可以在PHP文件中使用它。 我可以使用放入“ getElementById”的单个变量,但是一旦添加第二个变量,代码就会失败。 1 /如何从AJAX返回多个变量? 2 /我可以使用“ getElementById”来收集新的PHP变量,但是由于我只想设置几个PHP变量供以后使用,因此我不确定这是收集响应的最佳方法。

在浏览了网络和Stackoverflow之后,我得到了下面的代码,但没有成功。

<script>
function showUser(str)
{
if (str=="")
{
document.getElementById("Div1").innerHTML="";
document.getElementById("Div2").innerHTML="";
return;
} 

if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
var response = (ajaxRequest.responseText).split(';',2);
var intVariable = response[0];
var StringVariable = response[1];
document.getElementById("Div1").innerHTML=xmlhttp.intVariable;
document.getElementById("Div2").innerHTML=xmlhttp.StringVariable;   
}
}
xmlhttp.open("GET","ajax_info.php?bookingstate="+str,true);
xmlhttp.send();
}
</script>


<form name='users'>
<radiogroup>
<input type="radio" name="user" value="1" onclick="showUser(this.value)" <?php if         ($select_state == '1') echo 'checked="checked"'; ?> >1
    <br>
    <input type="radio" name="user" value="2" onclick="showUser(this.value)" <?php if ($select_state == '2') echo 'checked="checked"'; ?> >2
<br>
<input type="radio" name="user" value="3" onclick="showUser(this.value)" <?php if     ($select_state == '3') echo 'checked="checked"'; ?> >3
<br>
</radiogroup>
</form>

还有我的ajax_info.php文件

<?php

if ($bookingstate == "1") {
$select_state_name = "Booking state: 1";
$select_state1 = "1";


} elseif ($bookingstate =="2") {
$select_state_name = "Booking state: 2";
$select_state1 = "2";

} elseif ($bookingstate == "3") {
$select_state_name = "Booking state: 3";
$select_state1 = "3";

}

echo '$select_state1;$select_state_name;';

?>

您正在本地设置这些变量,因此

document.getElementById("Div1").innerHTML=xmlhttp.intVariable;
document.getElementById("Div2").innerHTML=xmlhttp.StringVariable; 

应该只是

document.getElementById("Div1").innerHTML=intVariable;
document.getElementById("Div2").innerHTML=StringVariable; 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM