将变量从PHP发送到Javascript

Send variable from PHP to Javascript

本文关键字:Javascript PHP 变量      更新时间:2023-09-26

我在两个独立的文件中有以下代码,其中一个是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,但我不知道如何发送一个变量(如dummyvariable的例子)从php回javascript文件。我知道结果应该是"这个"。responseText"但我不知道什么代码放在php文件,以发送到那里。有人能帮我一下吗?我对这些语言比较陌生,所以如果示例尽可能简单,我会很感激。

放置<input type="hidden" id="iHidden" value="" />

将PHP变量回显到此输入值,并在Javascript中使用

检索它
document.getElementById("iHidden").value;

你使用的方法可以工作,但我不推荐它,因为并不总是你需要传递一个变量,有时可能是一个数组或对象,谁知道。我会告诉你们怎么做但是用jQuery已经有一段时间没有使用纯javascript进行ajax调用了所以如果你不能使用jQuery你需要翻译它:)

PHP部分
$data = [
    'dummyvariable' => '12345'
];
echo json_encode($data);

Javascript部分
$.ajax({
    url: 'getgames.php',
    type: 'get',
    data: {
        'yearFilter': yearFilter
    },
    dataType: 'json',
    success: function(data){
        $("#dummy").html(data.dummyvariable)
    }
});

这样你可以传递更多的变量,它会更有组织,你也可以像你发布它那样做php在这种情况下你可以直接使用data变量。

PHP和Javascript中变量data的名字不一定是data只要是我想到的名字