2016-04-26 9 views
-1

jsからPHP変数にデータを取得する方法が混乱しています.JS関数では、私は頻繁にイベントでデータを取得しています。問題はPHPでデータを頻繁に取得したいからですリアルタイムデータ。​​には、データが来るたびにデータが入っています。私は​​の値を連続して取得する必要があります。js関数からPHPの値を取得

<html> 
<head> 
<script src="jquery.min.js" type="text/javascript"></script> 
<script src="mqttws31.js" type="text/javascript"></script> 


    <script> 
    function myFunction(p1, p2) { 
    return p1 * p2; 
    }; 
    var mqtt,payload; 
    var value = 10; 
    var reconnectTimeout = 2000; 
    function MQTTconnect() { 
    if (typeof path == "undefined") { 
     path = '/mqtt'; 
    } 
    mqtt = new Paho.MQTT.Client(
      'broker', 
      1883, 
      "/mqtt", 
      "a:" + "abcdef" + ":" + Date.now() 
    ); 
     var options = { 
      timeout: 3, 
      useSSL: false, 
      cleanSession: true, 
      onSuccess: onConnect, 
      onFailure: function (message) { 
       $('#status').val("Connection failed: " + message.errorMessage + "Retrying"); 
       setTimeout(MQTTconnect, reconnectTimeout); 
      } 
     }; 

     mqtt.onConnectionLost = onConnectionLost; 
     mqtt.onMessageArrived = onMessageArrived; 


     options.userName = 'user'; 
     options.password = 'password'; 


     mqtt.connect(options); 

    } 

    function onConnect() { 
     document.writeln("connected"); 

     // Connection succeeded; subscribe to our topic 
     mqtt.subscribe('iot-2/type/+/id/+/evt/evt1/fmt', {qos: 0}); 
     //$('#topic').val('iot-2/type/" + "+" + "/id/" + "+" + "/evt/evt1/fmt'); 

    } 

    function onConnectionLost(response) { 
     setTimeout(MQTTconnect, reconnectTimeout); 
     //$('#status').val("connection lost: " + responseObject.errorMessage + ". Reconnecting"); 

    }; 

    function onMessageArrived(message) { 

     var topic = message.destinationName; 
     payload = message.payloadString; 

     //document.writeln(payload); 
     //document.write("\n"); 
     //$('#ws').prepend('<li>' + topic + ' = ' + payload + '</li>'); 

    }; 
    </script> 


</head> 
    <body> 
     <?php 
     $db = '<script type="text/javascript">document.write(MQTTconnect());</script>'; 
     $db1 = '<script type="text/javascript">document.write(payload);</script>'; 
     echo $db; 
     echo $db1;  
     ?> 
    </body> 
</html> 
+0

PHPの要素の値を変更します例えば

、私は実際に送信するよりも、他の信頼できる方法はないと思います最も可能性の高いajax呼び出しを使用してサーバーに送信します。 –

+0

@DavidPackerでは、この場合にajaxの使い方を提案できます。 – vikky

+0

今は時間がありませんが、DOM操作とサーバサイドレンダリングを混在させるべきではありません。それまで誰もその質問に答えなければ、私は後で回答を掲示するでしょう。 –

答えて

0

あなたは頻繁にPHPでデータを取得するために適用可能な方法は、それが変化したときにPHPの要素のためのJSデータを割り当てることです

echo '<script type="text/javascript">' 
    , 'document.write(MQTTconnect());' 
    , '</script>' 
; 
0

ような何かを行うことができます。 JS関数は、あなたがそう

$("Element").val(output)// from js function 
, $("element").html(output) or 
by document.getElementById(element) etc...` 

を書くことができ、実行時に、任意の変更は応じ

+0

phpコードで 'targetPHPElement'を使う方法 – vikky