我知道我之前已经问过这个问题,但我很难理解我得到的答案。我在两个单独的文件中有以下代码,其中一个是javascript,另一个是php:
的Javascript
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange=function() {
if (this.readyState==4 && this.status==200) {
document.getElementById("dummy").innerHTML=this.responseText;
}
}
xmlhttp.open("GET","getgames.php?yearFilter="+yearFilter,true);
xmlhttp.send(null);
PHP
$yearFilter = (int)$_REQUEST["yearFilter"];
$dummyvariable = 123245;
我一直在使用javascript文件将变量传递给php,但我无法弄清楚如何从php BACK向javascript文件发送变量(例如虚拟变量示例)。我知道结果最终会出现在" this.responseText"但我不知道要在php文件中放入什么代码才能将其发送到那里。我一直被告知要回声"变量到javascript,但每当我尝试所有我看到的是变量被打印到屏幕上,我没有看到任何证据,它在javascript中存储。我错过了什么?
答案 0 :(得分:1)
你可以像这样输出变量值
$dummyvariable = 123245;
echo $dummyvariable;
所以现在在javascript中
document.getElementById("dummy").innerHTML=this.responseText;
此行将123245添加到#dummy id
中如果你想将多个变量值发送到javascript中,只需使用json
进行响应 像那样$dummyArray = json_encode(array("var1"=>"x1","var2"=>"x2"));
echo $dummyArray;
现在在javascript中使用此行代码
var response = JSON.parse(this.responseText);
在这种情况下,现在响应包含var1和var2的值... 这是如何使用
alert(response.var1); // this will return x1;
alert(response.var2); // this will return x2;
答案 1 :(得分:0)
您需要在响应文本中传递它。
echo $dummyvariable
请记住,php所做的只是构建一个将被发送到浏览器的文件。除了该文件,没有其他信息发送到浏览器。
另外,我建议用JSON编码(参见Zebi Rajpot answert)