0
    $(document).ready(function () {

    output = "";

    $.ajax({

        url: 'getevents.php',

        data: { ufirstname: 'ufirstname' },

        type: 'post',

        success: function (output) {

            alert(output);

            var date = new Date();
            var d = date.getDate();
            var m = date.getMonth();
            var y = date.getFullYear();

            $('#calendar').fullCalendar({
            header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
            },
            editable: true,
            events: output
            });
        }
    });





});

私はこのようなコードを持っていて、アラートボックスからテキストを逐語的にコピーして置き換えると

events: output

events: [{ id: 1, title: 'Birthday', start: new Date(1355011200*1000), end: new Date(1355011200*1000), allDay: true, url: 'http://www.yahoo.com/'},{ id: 2, title: 'Birthday Hangover', start: new Date(1355097600*1000), end: new Date(1355097600*1000), allDay: false, url: 'http://www.yahoo.com'},{ id: 3, title: 'Sepotomus Maximus Christmas', start: new Date(1356393600*1000), end: new Date(1356393600*1000), allDay: false, url: 'http://www.yahoo.com/'},]

すべてがうまく機能します。この問題を解決するにはどうすればよいですか? を使用events: outputするとテキストがその場所に配置されると思いましたが、機能していないようです。

コメントや回答をお寄せいただきありがとうございます。

4

3 に答える 3

3

多くの情報が提供されていないので、暗闇の中でショットを撮り、ブラウザーが json をテキストとして解釈していると言います。そのため、ajax 呼び出しにプロパティを追加してdataType、jQuery が戻り値を json として解析できるようにします。

$.ajax({

    url: 'getevents.php',
    data: { ufirstname: 'ufirstname' },
    type: 'post',
    dataType: 'json' 
    ......
于 2012-12-12T22:47:00.320 に答える
1

アラートボックスでその文字列を取得している場合.. JSON.parse()を使用して、文字列を解析して JavaScript オブジェクトにする必要があります。

変化する

events: output

events: JSON.parse(output)

ドキュメントによると

「イベント ソース」とは、FullCalendar にイベントに関するデータを提供するものです。単純な配列、定義したイベント生成関数、json フィードへの URL、または Google カレンダー フィードを指定できます。

バージョン 1.5 以降、イベント オブジェクトには「オプション」を関連付けることができます。ただし、オプションの指定を開始する前に、イベント オブジェクトを拡張形式で記述する必要があります。プロパティを持つ従来の JavaScript オブジェクトである必要があります。

また、json文字列の最後に余分なコンマがあります

于 2012-12-12T22:47:11.820 に答える
-1
    $year = date('Y');
$month = date('m');

echo json_encode(array(

    array(
        'id' => 111,
        'title' => "Event1",
        'start' => "$year-$month-10",
        'url' => "http://yahoo.com/"
    ),

    array(
        'id' => 222,
        'title' => "Event2",
        'start' => "$year-$month-20",
        'end' => "$year-$month-22",
        'url' => "http://yahoo.com/"
    )

));

プログラムは実際にこの非常に特殊な形式の json_encode を必要としているか、機能しません。私はこれらのすべての返信を読んで、これを理解しました。

于 2012-12-12T23:09:46.577 に答える