[英]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.