2016-04-26 88 views
0

我有一个场景,我必须从php获取数据到我的Unity3d c#脚本中。当我调用www.text时,我得到整个html页面代码。在PHP页面中,我只是echo的数据。www.Text返回整个html页面不是数据

void Start() { 
     StartCoroutine(GetText()); 
    } 

    IEnumerator GetText() { 
     UnityWebRequest www = new UnityWebRequest("http://192.18.23.1/php/Time.php"); 
     www.downloadHandler = new DownloadHandlerBuffer(); 
     yield return www.Send(); 

     if(www.isError) { 
      Debug.Log(www.error); 
     } 
     else { 
      // Show results as text 
      //Debug.Log(www.downloadHandler.text); 
      // Or retrieve results as binary data 
      byte[] results = www.downloadHandler.data; 
      txt.text = "Success # " + www.downloadHandler.text; 
     } 
    } 

编辑:

Time.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; 

     //if (username != null) { 
      options.userName = 'username'; 
      options.password = 'password'; 
     //} 

     mqtt.connect(options); 

    } 

    function onConnect() { 


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

    } 

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

    }; 

    function onMessageArrived(message) { 

     var topic = message.destinationName; 
     payload = message.payloadString;   
     //document.getElementById("ws").value = payload;  
    }; 
    </script> 
</head> 
    <body> 
     <?php 
     echo '<script type="text/javascript">document.write(MQTTconnect());</script>';; 
     $ff = $_GET['payload']; 
     echo $ff; 
     ?> 
    </body> 
</html> 
+0

份额php文件,也许这将有助于http://wiki.unity3d.com/index.php?title=Server_Side_Highscores –

+0

@MohammadFaizanKhan查看编辑部分.... – vikky

+0

这是HTML文件,请参阅我以前分享你的链接。使单独的PHP –

回答

0

也许最好的方法是使用服务器端PHP代码生成输出,在所有不包括html/javascript代码。

此外,您还需要删除任何html标记并将内容类型用作文本以确保解决方案正常工作。

例如:

<?php  
    header("Content-Type: text/plain"); 
    echo 'result'; 
?> 
+0

你能告诉我如何生成输出,不包括所有的html \ js。 – vikky

相关问题