我正在试图弄清楚如何将“Javascript / JQuery”变量“发送”到PHP变量中。我在这里找到了this post,并试着跟着那里的一些东西,没有运气。我试图为此制作最简单的代码,就像测试它一样。这里是。
thefilename.php
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<?php
$test = $_POST['test'];
echo $test;
echo "Test Ran";
?>
<input type="button" id="rawr" value="Test"/>
<script>
var somestring = "some string";
//Audio test
$("#rawr").click( function() {
alert("BUTTON PRESSED");
$.post("thefilename.php", {test : somestring});
});
</script>
在我看来,这是一种测试它的简单方法。也许我有些不对劲......不确定......这就是为什么我在这里。只是寻找将变量从Javascript传递给PHP的最简单方法。最后我想传递一个数组。对此的任何帮助也将非常感激。
答案 0 :(得分:2)
我认为您对PHP与JavaScript的页面生命周期存在根本的混淆。 PHP是一种服务器端脚本语言。当您从服务器请求页面时(通过导航到它或启动AJAX调用),PHP脚本从头到尾运行,服务器返回其输出(在这种情况下是HTML页面)。而已。当页面源传送到您的浏览器时,就完成了PHP。
另一方面,JavaScript是一种客户端脚本语言。 JavaScript在您的浏览器中运行,并且可以在页面加载后对页面进行更改(最明显的是通过更改DOM)。
AJAX在两个世界之间提供了一些有点脆弱的联系。 JQuery函数(如jQuery中的.post())将异步请求发送回服务器并告诉服务器检索某个文件。如果该文件是PHP,则服务器通常会执行它。
所以在你的例子里,会发生什么:
我希望这有助于解释发生了什么。 很可能你需要一个单独的PHP文件来进行异步调用。