I';我在将JavaScript变量传递给php脚本时遇到了问题


I'm having trouble getting JavaScript variables passed to a php script

我正在尝试使用Jquery设置一个网页,该网页将接收用户的按钮点击,将这些点击值传递给PHP脚本,然后PHP脚本将它们发布到MQTT代理。我和经纪人的联系似乎在起作用。我在将变量从JavaScript传递到PHP时遇到问题。我做错了什么?

这是我的JavaScript:

<script>
$(document).ready(function(){
  $("#button01").click(function(){$.post("post.php", {testvalue:test01});});
});
</script>

这是我的PHP:

<?php
require("../phpMQTT.php");
$testvalue = $_POST['testvalue'];
$mqtt = new phpMQTT("192.168.1.20", 8000, "client"); 
if ($mqtt->connect()) {
    $mqtt->publish("hello/world","$testvalue",0);
    $mqtt->close();
}
?>

您将无效的JSON对象传递给$.post()方法。应该是:

{testvalue:"test01"}

因此,您的JavaScript代码应该如下所示:

$(document).ready(function(){
    $("#button01").click(function(){$.post("post.php", {testvalue:"test01"});});
});

或者,如果test01是可变的,则应首先定义它。

请下次查看浏览器中的控制台,检查是否没有错误,以及ajax调用是否发送正确。