将变量从PHP发送到Javascript

时间:2015-08-18 02:33:17

标签: javascript php

我在两个单独的文件中有以下代码,其中一个是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文件中放入什么代码以便将其发送到那里。谁能帮我这个?我对这些语言比较陌生,所以如果例子尽可能简单,我将不胜感激。

2 个答案:

答案 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中的变量数据的名称也不一定是数据,它只是我的第一个名字。