0

DB からゲームに変数をロードする適切な方法は何ですか?

Ajax と Prototype ライブラリを使用してみましたが、うまくいかないようです。これが私がしたことです:

私のメインの.jsゲームファイルでは...

var rawVocab = new Array();
var optionVocab = new Array();

new Ajax.Request('load_vocab.php', {
    onSuccess : function(xmlhttp) {
        eval(xmlhttp.responseText);
    }
});

「load_vocab.php」は次のようになります...

<?php

header('Content-Type: text/xml');
echo '<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>';

echo '<response>';

    $username = "user";
    $password = "***************";

    try {
        $conn = new PDO('mysql:host=localhost;dbname=tygrif_school', $username, $password);
        $conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

        $stmt = $conn->prepare('SELECT * FROM vocabulary_game WHERE game_type = :game_type');
        $stmt->execute(array('game_type' => 'target'));

        $i=0;
        while($row = $stmt->fetch()) {
            echo "rawVocab[".$i."]['word']='".$row['word']."';";
            echo "rawVocab[".$i."]['translation']='".$row['translation']."';";
            echo "rawVocab[".$i."]['example_sentence_1']='".$row['example_sentence_1']."';";
            $i++;
        }

        $stmt = $conn->prepare('SELECT * FROM vocabulary_game');
        $stmt->execute(array());

        $i=0;
        while($row = $stmt->fetch()) {
            echo "optionVocab[".$i."]['word']='".$row['word']."';";
            echo "optionVocab[".$i."]['translation']='".$row['translation']."';";
            echo "optionVocab[".$i."]['example_sentence_1']='".$row['example_sentence_1']."';";
            $i++;
        }
    } catch(PDOException $e) {
        echo 'ERROR: ' . $e->getMessage();
    }

echo '</response>';

?>

goog ライブラリでこれを処理する組み込みの方法はありますか?

4

1 に答える 1

0

どうやら、Google Closure には Ajax 呼び出しを処理するための方法 (goog.net.XhrIo) が組み込まれているようです。

1 - http://docs.closure-library.googlecode.com/git/class_goog_net_XhrIo.html

2 - http://www.daveoncode.com/2009/11/17/goog-net-xhrio-make-simple-ajax-calls-with-google-closure/

于 2013-07-08T06:18:04.413 に答える