2014-09-22 14 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

ответ

1

Вы передаете неверный объект JSON для $.post() метода. Оно должно быть:

{testvalue:"test01"} 

Так что ваш код JavaScript должен выглядеть следующим образом:

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

Или если test01 является переменной величиной, она должна быть определена первым.

Пожалуйста, в следующий раз посмотрите на консоль в своем браузере и проверьте, нет ли ошибок и правильно ли отправлен вызов ajax.

+0

Спасибо, это сработало. Кстати, консоль не давала мне ошибку. – user3147697