我正在尝试使用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调用是否发送正确。