我在两个单独的文件中有以下代码,其中一个是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文件中放入什么代码以便将其发送到那里。谁能帮我这个?我对这些语言比较陌生,所以如果例子尽可能简单,我将不胜感激。
答案 0 :(得分:0)
放置<input type="hidden" id="iHidden" value="" />
将您的PHP var回显到此输入值,并使用
在Javascript中检索它document.getElementById("iHidden").value;
答案 1 :(得分:0)
您正在使用的方法可以工作,但我不推荐它,因为并不总是需要传递一个变量,有时可能是数组或对象,谁知道。我将告诉你如何做到但是使用jQuery已经有一段时间了,因为我使用纯javascript进行ajax调用,所以如果你不能使用jQuery,你需要翻译它:)
PHP部分
$data = [
'dummyvariable' => '12345'
];
echo json_encode($data);
Javascript Part
$.ajax({
url: 'getgames.php',
type: 'get',
data: {
'yearFilter': yearFilter
},
dataType: 'json',
success: function(data){
$("#dummy").html(data.dummyvariable)
}
});
通过这种方式你可以传递更多的变量,它会更有条理,你也可以像发布它一样做php,在这种情况下你可以只使用数据变量。
PHP和Javascript中的变量数据的名称也不一定是数据,它只是我的第一个名字。