0

HTML5 キャンバス内で Javascript ゲームを実行しています。ここで、PHP のオブジェクトに格納されている変数を自分のプログラムに渡したいと思います。私がしたいのは、私のjsのような関数ですgetVariable = function(){script that gets the variable from PHP and returns it as a string}

ヒントはありますか?

4

2 に答える 2

1

@Valentin - javascript ajax 呼び出し (または必要に応じて jquery 呼び出し) を使用して、php スクリプトから値を取得します。ゲームでプレイヤーごとに異なる値が設定されている場合、セッションを開始して、スクリプトを何度も呼び出しても値を保持できます。例:

次のような player.php からプレーヤーのヘルスを取得したいとします。

 session_start();//start the session
 if(!isset($_SESSION['health']))
    $_SESSION['health'] = $var;//If there is no value for player health in the session
                               //initialize the default value
 switch($_GET['x']){
 case 'health' :
        echo $_SESSION['health'];
        break;
 default       :
        echo $var;
        break;
 }
?>

対応する純粋なJavaScriptは-

var health;
var xmlhttp;
if (window.XMLHttpRequest)
  {// code for IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  } 
    xmlhttp.onreadystatechange=function()
  {
  if (xmlhttp.readyState==4 && xmlhttp.status==200)
    {
    health=xmlhttp.responseText;
    }
  }
xmlhttp.open("GET","player.php?x=health",true);
xmlhttp.send();

素晴らしいjQueryを使用して、はるかに簡単な方法で同じことを行うことができます-

var health;
var reqData=["x" : "health"];
var xhrObj = $.get("player.php",x)
    .done(function( response ) { 
      health=response;//The echo text from server
    })
    .fail(function() {
      alert('error'); 
    });

jquery と ajax の詳細については、こちら --> をご覧ください。

jQuery API

ajax チュートリアルについては、www.w3schools.com/ajax/

于 2013-05-20T23:26:56.470 に答える
0

Javascript とブラウザは、HTML/JS を生成するためにサーバーで使用している言語を気にしません。気にするのは、最終的に何が生成されるかだけです。

あなたが考えていることを行うには、2 つの方法があります。

  1. 変数を最初に生成するときに、変数の内容をページに出力します。
  2. 値をエコーするサーバー上のスクリプトへの AJAX 呼び出しを使用してから、JavaScript で解析します。ただし、これを行う場合は、セッションまたはデータベース、またはページ間で状態を維持する別の手段を使用する必要があります。
于 2012-04-16T17:56:43.703 に答える