2014-09-22 154 views
-1

我试图设置一个带有Jquery的网页,它将接收用户的按钮点击,将这些点击值传递给PHP脚本,然后将它们发布到MQTT经纪人。我与经纪人的联系似乎正在发挥作用。我有问题将变量从JavaScript传递到PHP。我究竟做错了什么?我无法将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(); 
} 
?> 
+0

除非'test01'是一个变量,它需要封装在引号中...... – War10ck 2014-09-22 19:27:50

回答

1

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

{testvalue:"test01"} 

所以,你的JavaScript代码应该是这样的:

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

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

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

+0

谢谢,这工作。顺便说一句,控制台并没有给我一个错误。 – user3147697 2014-09-22 20:14:11