0

eventSourceを定義することで、FullCalendarフィードが正常に機能するようになりました。

eventSources: [
{
    events: function(start, end, callback) {
        $.ajax({
            url: svcURL,
            dataType: 'json',
            type: 'POST',
            data: {
                start: Math.round(start.getTime() / 1000),
                end: Math.round(end.getTime() / 1000),
                sid: %sid%,
                csrf_test_name: csrf
            },
            success: function(json) {
                callback(json);
            }
        });
    }
}

例からコピーして貼り付けることで、タイムスタンプを完璧にできました。ただし、タイムスタンプも使用したい別のajax関数がありますが、タイムスタンプの代わりにデータのテキストバージョンを取得しています。

eventClick: function(event) {
    if (confirm('Quer mesmo marcar este serviço?')){
        markit(event);
    }
    return false;
}

eventClick関数は、イベントオブジェクトを私の「markit」関数に渡します。

function markit(obj){
    $.ajax({
        url: msvURL,
        dataType: 'json',
        type: 'POST',
        data: {
            start: obj.start,
            end: obj.end,
            sid: obj.sid,
            uid: obj.uid,
            aid: obj.aid,
            csrf_test_name: csrf
        },
        success: function(json) {
            alert('Got it marked!')
        }
    });
}

私が言ったように、markit関数は「start」と「end」のタイムスタンプを渡さないため、データの操作が難しくなります。時間をタイムスタンプに変換するにはどうすればよいですか?

更新:送信されているテキストバージョンは次のとおりです。

Tue Mar 19 2013 09:30:00 GMT-0300 (Hora oficial do Brasil)

PHPでそれを解析することはできますが、タイムスタンプを使用できれば、作業ははるかに簡単になります。

4

1 に答える 1

0

これが機能する理由はわかりませんが、開始値と終了値を次のように変更すると、探していたタイムスタンプが取得されます。

function markit(obj){
    $.ajax({
        url: msvURL,
        dataType: 'json',
        type: 'POST',
        data: {
            start: Math.round(obj.start / 1000),
            end: Math.round(obj.end / 1000),
            sid: obj.sid,
            uid: obj.uid,
            aid: obj.aid,
            csrf_test_name: csrf
        },
        success: function(json) {
            obj.aid = json;
            alert('Got it marked! AID: ' + json)
        }
    });
}

数値ではないものに数学関数を使用する方法は私には意味がありません。誰かがそれを説明するためにコメントを残すことができれば、私はそれをいただければ幸いです。

于 2013-03-23T20:20:34.353 に答える