Php 如何在测试div中显示javascript变量的实际值?

Php 如何在测试div中显示javascript变量的实际值?,php,jquery,Php,Jquery,我有一个两人的棋盘游戏,有很多(变化的)变量。 出于测试目的,我想在testdiv中显示所有这些javascripts变量,如: <div id="testdiv" style="margin-top:800px;background-color:yellow"> /** here the listing of js vars and arrays */ </div> /**下面是js变量和数组的列表*/ 这个boardgame使用一个后端文件来更新游戏,但是当我

我有一个两人的棋盘游戏,有很多(变化的)变量。 出于测试目的,我想在testdiv中显示所有这些javascripts变量,如:

<div id="testdiv" style="margin-top:800px;background-color:yellow">
/** here the listing of js vars and arrays */
</div> 

/**下面是js变量和数组的列表*/
这个boardgame使用一个后端文件来更新游戏,但是当我试图完全了解javascript变量的情况时,我迷失了方向。 我知道变量和数组的名称。 在轮换之后,我刷新页面,但是我想通过ajax(jQuery)更新页面。 为了检查playersturn,我已经使用了jQuery和taconite插件表单 此插件返回xml,如下所示:

### Taconite output 
?><taconite> 
<?php 
echo $content_refresh; // refresh pagina indien nodig
echo $content_redirect;
echo $content_melding; // melding over verlaten tafel of afgewezen!
echo $content_inpartij; // tegenstander in partij??
echo $content_chataangevraagd; // chat door tegenstander aangevraagd?
echo $content_wachtopaanschuiven; // div leegmaken zodra 2e speler in partij is
echo $content_starttijd;
?>
</taconite>
###Taconite输出
?> 
例如,所有内容变量都是由xml生成的

## Taconite: refresh nodig??

if($refresh_needed == 'ja')
{
$content_refresh = '<eval><![CDATA[
                                 window.location="http://www.xxxxxxxx.nl/v45/partij.php?gameID='.$_GET['gameid'].'";
                    ]]> 
                    </eval>';
//$meta_refresh = '<replaceContent select="#refresh"><META HTTP-EQUIV="refresh"     CONTENT="0"></META></replaceContent>';
}
##Taconite:刷新节点??
如果($refresh\u needed=='ja')
{
$content\u
';
//$meta_refresh='';
}
因此,我不想刷新,我只想更新boardgame,只是没有对所有(已知)当前javascript值的概述


提前感谢您的帮助

我不熟悉你的插件,也没有列出你的服务器端技术(猜测php),所以我想说,看看php的json序列化功能

然后,您应该在客户端的javascript中执行,像您一样发出ajax请求,但使用json编写服务器端代码,只发送表示必要更改或整个电路板状态的数据。在客户端,JSON对象将被接收并可用作直接javascript对象,然后您可以使用一种方法来处理它,根据服务器发送的数据手动更新电路板状态

编辑:

抱歉,忘记了这里的范围是获取调试信息,因为向电路板呈现更新的方法也应该将所述调试信息呈现到屏幕上某个单独的div中。如果您还没有使用jquery,我会将jquery用于ajax,使用jquery,您可以使用选择器执行以下操作:

$("#debugDiv").text("Var a: " + boardState.VarA);
$("#debugDiv").append("Var b: " + boardState.VarB);
看看:


在javascript中,全局声明的变量通常附加到
窗口对象
。因此,如果您的变量在
global
范围内,您可以在
firebug
DOM选项卡
中检查它们,然后单击
窗口

问题是你会看到很多其他的变量

如果您的变量在其他范围内,您可以检查特定范围内的内容

如果要在div中打印它们,则需要某种方法将变量与其他变量区分开来,然后使用
for in
循环以及
hasOwnProperty
typeof


话虽如此,最好的方法是重新构造应用程序,使其至少对您透明。

如何使用javascript显示用于调试目的的变量当前值的概述?Jimmy感谢您的回答,JSON将比xml花费更少的数据,因此我一定会检查这一点。显然,我对我真正的问题还不够清楚:如何在testdiv中,特别是在更改这些值之后,用实际值显示所有变量/数组。是的,我使用PHP和jQuery:)Robert,我用PHP填充JS变量/数组,只查看生成的javascript中的值,但是这样,我看不到更改。我还使用Firebug查看服务器发送的内容。@Terradon我之所以提到JSON,是因为它将以javascript已经可以轻松使用的格式向测试div打印数据。使用XML响应,我想您必须更新电路板的全部内容,然后必须解析XML以获得精确的电路板值。JSON已被视为javascript对象,您的调试值将立即可用。