У меня проблемы с передачей переменных JavaScript в php-скрипт

Я пытаюсь настроить веб-страницу с 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 ответ

Вы передаете недопустимый объект JSON $.post() метод. Так должно быть:

{testvalue:"test01"}

Итак, ваш код JavaScript должен выглядеть так:

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

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

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

Другие вопросы по тегам