-1

この質問を編集して、以下の回答を反映させました。

配列 $animation は別の関数からエンコードされて返され、index.html、index1.html などの URL の文字列が含まれます。

この関数を使用してアニメーションを生成しました。

$select = "SELECT card_id, order_num FROM decks WHERE box_num=$box_num AND id=$userid ORDER BY order_num";
    $result = mysqli_query($db, $select) or die("SQL Error 1: " . mysqli_error($db));

    while ($row = mysqli_fetch_array($result, MYSQL_ASSOC)) {
        $animation[] = array(
            'card_id' => $row['card_id'],
            'order_num' => $row['order_num'],
        );
    }

    return json_encode($animation);

$animation の中身は

"[{"card_id":"baby","order_num":"1"},{"card_id":"selectBaby","order_num":"2"},{"card_id":"bed","order_num" :"3"},{"card_id":"selectBed","order_num":"4"},{"card_id":"book","order_num":"5"},{"card_id":"selectBook" ,"order_num":"6"},{"card_id":"cup","order_num":"7"},{"card_id":"selectCup","order_num":"8"},{"card_id" :"cupboard","order_num":"9"},{"card_id":"selectCupboard","order_num":"10"},{"card_id":"daddy","order_num":"11"},{"card_id":"selectDaddy","order_num":"12"},{"card_id":"eating","order_num":"13"},{"card_id":"mummy"," order_num":"14"},{"card_id":"selectMummy","order_num":"15"},{"card_id":"plate","order_num":"16"},{"card_id":" selectPlate","order_num":"17"},{"card_id":"shoe","order_num":"18"},{"card_id":"selectShoe","order_num":"19"},{" card_id":"table","order_num":"20"},{"card_id":"selectTable","order_num":"21"},{"card_id":"walking","order_num":"22"},{"card_id":"selectWalking","order_num":"23"},{"card_id":"dogNose","order_num":"24"},{"card_id":" selectDogNose","order_num":"25"},{"card_id":"teddyEars","order_num":"26"},{"card_id":"selectTeddyEars","order_num":"27"},{" card_id":"ActivityOne","order_num":"28"},{"card_id":"ActivityTwo","order_num":"29"},{"card_id":"ActivityThree","order_num":"30" },{"card_id":"ActivityFour","order_num":"31"},{"card_id":"ActivityFive","order_num":"32"},{"card_id":"ActivitySix","order_num":"33"}]"

それから私はそれにjavascriptを渡そうとします。

var url = <?php echo $animation; ?>;
alert(url); //check the for some data

このコードの出力は

Object object Object object Object object Object object Object object Object object

必要な出力は card_id であるため、それを URL に渡すことができます (例: baby、bed、book など)。

url url url url

これを行うには文字列が必要です..

$(document).ready(function() {
   var suffix = ".html";
   $('#buffer').load('../Animations/' + url[0] + suffix);
   $('#buffer').trigger('create');    
});
4

3 に答える 3

2

JSONをどこにも作成していないようです。がすでに JSON 文字列でない限り$animation、これを行う必要があります。

var jsonUrl = <?php echo json_encode($animation); ?>;
于 2013-06-13T13:34:30.733 に答える
2

jsonを配列にデコードするために使用できる有効なものがあるjsonと思います。json_decodeこの関数は、true を指定すると、json を連想配列として返す 3 番目のパラメーターもサポートします。

ここでもっと読んでください

于 2013-06-13T13:34:43.327 に答える
1
  • まず、<?php echo $animation; ?>出力が有効な json 文字列かどうかを確認します。
  • 次に、JSON.parseすべてのブラウザーでサポートされているわけではありません。 $.parseJSON(jquery から)のようなライブラリーを使用する必要があります。

あなたの場合、出力しない場合、オブジェクトはすでに JavaScript オブジェクトであるため、"まったく必要ありません。JSON.parse例: が の<?php echo $animation; ?>ようなものにレンダリングされる場合、レンダリング{x:1,y:2}された JavaScript は次のようになります。

var jsonUrl = {x:1,y:2};

それはすでにJavaScriptオブジェクトです

于 2013-06-13T13:35:05.550 に答える