我无法将JavaScript变量传递给php脚本

时间:2014-09-22 19:23:59

标签: javascript php jquery post phpmqtt

我正在尝试使用Jquery设置一个网页,该网页将接收来自用户的按钮点击,将这些点击值传递给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();
}
?>

1 个答案:

答案 0 :(得分:1)

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

{testvalue:"test01"}

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

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

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

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