在AJAX插入时将Javascript变量传递给PHP

时间:2011-04-11 02:54:43

标签: php ajax jquery

首先,非常感谢迄今为止在本网站帮助过我的所有人。你们一直都很棒,并且在试图完成我的论文时多次挽救了我的生命。

这是交易。我正在创建一个实验,它在一个页面上运行,并通过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 个答案:

答案 0 :(得分:2)

Javascript不处理会话,它处理cookie(作为仅客户端的脚本语言)。因此,您需要使用GET请求传递参数。详细信息列在jQuery's文档:

  

$。get(“test.php”,{name:“John”,   时间:“2pm”});

答案 1 :(得分:1)

好吧,jquery ajax默认发布信息,除非你指定使用get(如果我没记错的话),所以尝试将php中的$_GET更改为$_POST s。