0

私はそのような驚くべき状況を持っています。MySql (Php を使用) からデータを取得し、それを json でエンコードされた文字列にエンコードして、jQuery の完全なカレンダーに挿入します。PHPスクリプトを見てみましょう=>

while ($birthday_row = $birthday_r->fetch_row()){
    $birthday_array[] = array(
        'id'  => $birthday_row[0],
        'title'     => $birthday_row[1],
        'start'     => "2012-" . $birthday_row[2] . "-" . $birthday_row[3],
    );                              
}

( MySql からデータを取得する際にエラーは発生しません。正常に動作します)

次に、このような関数でエンコードしjson_encodeます=>

$k = json_encode($birthday_array);

それをjQueryフルカレンダーに挿入すると、ここにJavaScriptがあります=>

jQuery("#calendar").fullCalendar({ // initialize full calendar
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
        },
        <?php
            echo "events:" . $k . ",";
        ?>
        eventMouseover: function(calEvent,jsEvent,view){
            $(this).css("cursor","pointer");
        }
    });

私の疑問の理由は、Chrome データは挿入されますが、他のブラウザー (firefox、opera、explorer、safari など) では挿入されないことです。

ちなみに$k変数=>の出力はこちら

[{"id":"1","title":"\u10d7\u10dd\u10e0\u10dc\u10d8\u10d9\u10d4 \u10dc\u10d0\u10dc\u10dd\u10d1\u10d0\u10e8\u10d5\u10d8\u10da\u10d8","start":"2012-10-2"},{"id":"2","title":"\u10d2\u10d8\u10dd\u10e0\u10d2\u10d8 \u10d9\u10d0\u10d9\u10d0\u10e8\u10d5\u10d8\u10da\u10d8","start":"2012-10-1"},{"id":"3","title":"\u10e0\u10e3\u10d7\u10d8 root","start":"2012-9-17"},{"id":"4","title":"one one","start":"2012-9-20"},{"id":"7","title":"\u10d2\u10d8\u10dd\u10e0\u10d2\u10d8 \u10d9\u10d0\u10d9\u10d0\u10e8\u10d5\u10d8\u10da\u10d8","start":"2012-9-5"},{"id":"8","title":"\u10d2\u10d8\u10dd\u10e0\u10d2\u10d8 \u10d0\u10e4\u10e0\u10d8\u10d0\u10e8\u10d5\u10d8\u10da\u10d8","start":"2012-1-16"}]

何が間違っているのかわかりませんが、実際にはその結果は不思議に思っています。どんなアイデアでも助けてください!事前に感謝

4

1 に答える 1

0

私は自分の問題の理由を理解しました。出力が次のようになっているchromejsonエンコード文字列でどれほど素晴らしいか=>

[{"id":"1","title":"some","start":"2012-5-9"}]

正常に動作しますが、Firefox、Opera、Safari、Explorerなどの他のブラウザでは動作しません。理由は日付の形式です。上記のブラウザでは、次のようにフォーマットする必要がある場合=>

[{"id":"1","title":"some","start":"2012-05-09"}]

2012-5-9との違いは次のとおりです2012-05-09。私は本当にこのようなケースはありませんでした、とにかく誰かが私を助けたいと思って私の質問で時間を無駄にしてくれたらありがとう

于 2012-09-11T10:31:33.350 に答える