2011-04-11 30 views
0

首先,非常感谢迄今为止帮助过我的所有人。你们真是太棒了,为了完成我的论文,我多次拯救了我的生命。通过AJAX插入Javascript变量到PHP时

这是交易。我正在创建一个实验,该实验在一个页面上运行,并通过ajax为每个试验重新加载php文件中的内容。对于每个试验,我需要记录受试者点击某个按钮的时间以及关于试验的一些信息,因为它们是随机选择的,所以我需要能够将点击时间与某个试验相关联。

到目前为止,一切都一直很好。我已经设置好了,以便每次点击时都加载并运行带有ajax的PHP脚本,并且我已经注入了一小段脚本部分,其中包含关于每个试验的所有重要变量。收集时间的PHP脚本运行良好,并且收集试用信息的脚本正在运行,但它无法正确识别$ _GET javascript标识变量。

太近了,但迄今为止!谁能帮我吗?我只需要能够从网站上获取javascript变量,那么我很好。

这是我所有的内容,所以你可以观察和玩弄它。

The experiment page。我将它设置为在每次点击接下来要提取的试验后弹出包含JS变量信息的警报,以确保它们正确加载。

My backend JS logic。重要的东西一直在脚本的底部,在“音频逻辑”类别下

The log file。每次运行实验时,所有数据都会在这里弹出。你会注意到,虽然PHP脚本运行,但它不会输出它从JS获得的变量。

...这里是我有这应该得到JS变量的PHP代码。 (loginfo.php)

$trialID = $_GET['trialID']; 
$type = $_GET['type']; 
$trick = $_GET['trick']; 
$file = "log.txt"; 
$fh = fopen($file, 'a') or die("You just failed the entire experiment"); 
fwrite($fh, "\n Trial ID: ".$trialID." | Trial Type: ".$type." | Trick? ".$trick); 
fclose($fh); 

变量已经在加载后,该代码被调用,我已经展示了他们能够正确加载与小警告框。我错过了什么?为什么这个PHP代码不会选择变量?

非常感谢你的帮助:)

回答

2

JavaScript不处理会话,它涉及饼干(作为客户方仅脚本语言)。因此,您需要使用GET请求传递参数。详细列在jQuery's文档:

$获得( “test.php的”,{名字: “约翰”, 时间: “14:00”});

+0

太好了!但是,我只能发送我在那里输入的数据,还是可以发送变量?我需要为每个试验发送不同的数据,因此创建一个可以为每个试验发送不同的自定义数据的巨大声明是非常繁琐的...您知道吗? – 2011-04-11 03:29:42

+0

发送一个变量类型,如'{name:variablename}',如果你不用引号,它被认为是一个变量 – Ben 2011-04-11 03:37:35

+0

好吧,我会试试这个。这可能是一个在JavaScript代码中定义的变量,对吧?我怎么会在PHP中通过“名称”或变量名来获取这个_GET这个? – 2011-04-11 03:40:23

1

好,jQuery的AJAX默认为张贴,除非你指定使用get(如果我没记错的话),所以尝试改变$_GET S IN你的PHP $_POST S上的信息。

+0

没有工作:( – 2011-04-11 03:26:13