簡體   English   中英

如何使用數據庫中正在更改的新值更新javascript變量?

[英]How do I update javascript variables with new values which are changing in my database?

我正在構建一個使用mysql數據庫存儲玩家坐標位置的多人游戲,然后將其用於顯示對手模型。

該游戲在客戶端使用javascript文件(milktruck.js),然后在服務器使用php文件(xml_http_request.php)。

嘗試獲取隨着數據庫信息更新的javascript變量(存儲對手的坐標信息)時發生我的問題。

javascript變量在php文件中用以下代碼聲明:

  echo "<script> var lla0php = $lla0; </script>";
  echo "<script> var lla1php = $lla1; </script>";
  echo "<script> var lla2php = $lla2; </script>";

然后在javascript文件中使用的勾號函數:prototype.tick,帶有:

  window['lla0_2']= lla0php;
  window['lla1_2']= lla1php;
  window['lla2_2']= lla2php;

如何使用新的數據庫信息不斷更新這些變量?

Web模型是無狀態的,要做到這一點,您將不得不考慮一種克服該問題的方法,並可能考慮編寫一個抽象層來為您解決這個問題。

您將需要連續輪詢或研究其他基於Web的解決方案,這些解決方案允許服務器將數據“推”回客戶端並保持“開放渠道”的通信。 例如瀏覽器中的Google Talk或FaceBook聊天。

您需要做的是使用ajax。


function requestCoord(){
    $.ajax({
        url: "your url",
        dataType : "json",
        type: "GET",
        success(val){
            //get your php script to echo out a json string 
                        //and it will be in val
            window['lla0_2']= val.lla0php;
            window['lla1_2']= val.lla1php;
            window['lla2_2']= val.lla2php;

        }
    });
}

setInterval(requestCoord, 1000);

更新

您可以使用html5套接字。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM