0

変数からjsonファイルにデータを保存できるかどうか疑問に思っていますか?

var json_object = {"test":"Hello"}
    $.ajax({
            url: "save.php",
            data: json_object,
            dataType: 'json',
            type: 'POST',
    success: function (json_object) {
        console.log(json_object);
        $("#data").text("Data has been saved.");},
    error: function (json_object){
        console.log(json_object);
        $("#data").text("Failed to save data !");}

これは、データを保存するために使用するものです。Hello を文字列として保存する代わりに、Helloworld を変数にしたいと思います。

var hello = world;
4

1 に答える 1

3

まず、ゲームの名前空間を作成します。例Game:

var Game = {};

これからは、ゲームに関係するすべての変数がそこに移動します。これは、グローバル スコープの使用を最小限に抑えるためです (これは悪です)。

次に、 と の状態が必要だとscorelevelます。あなたはそれを次のようにします:

Game.state = {
  score: 0,
  level: 1
}

ゲーム中に変更することができます。

Game.state.score = 42;
Game.state.level++;

保存するには、Ajax リクエストを送信します。

$.ajax({
        url: "save.php",
        data: {
            state: JSON.stringify(Game.state) // sending Game.state as JSON string
        },
        dataType: 'json',
        type: 'POST',
        success: function (json_object) {
            console.log(json_object);
            $("#data").text("Data has been saved.");
        },
        error: function (json_object) {
            console.log(json_object);
            $("#data").text("Failed to save data !");
        }
    }

JSON.stringify(Game.state)次のような文字列になります'{"level":0,"score":42}'

さて、保存後、送信されたJSONオブジェクトをサーバーなどに文字列として保存し、将来のある時点でそれを取得したいと考えています。次のようにして達成できます。

$.ajax({
        url: "load.php",
        data: "", // no data, we are just loading
        dataType: 'json',
        type: 'POST',
        success: function (state) {
            Game.state = state; // okay, state loaded and assigned to our Game.state!
        }
    }
于 2013-10-02T14:29:56.920 に答える