Javascript 使用AJAX将日期从SQL server传递到jQuery日历

Javascript 使用AJAX将日期从SQL server传递到jQuery日历,javascript,jquery,ajax,Javascript,Jquery,Ajax,我遵循如下所示的jQuery日历示例,尝试从我的SQL数据库中加载日期,而不是示例硬编码值,不确定什么是最佳方法,但我使用Ajax post到我的web方法并获取数据。数据库中的数据将加载到datatable中,但问题是,我不确定SQL中的数据应该以何种格式存储,以便在检索数据并将其返回到Ajax调用时,它可以替换新的Datey,m,2 请帮忙。谢谢 <script type='text/javascript'> $(document).ready(function ()

我遵循如下所示的jQuery日历示例,尝试从我的SQL数据库中加载日期,而不是示例硬编码值,不确定什么是最佳方法,但我使用Ajax post到我的web方法并获取数据。数据库中的数据将加载到datatable中,但问题是,我不确定SQL中的数据应该以何种格式存储,以便在检索数据并将其返回到Ajax调用时,它可以替换新的Datey,m,2

请帮忙。谢谢

<script type='text/javascript'>

    $(document).ready(function () {

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

        var sDate;
        $.ajax({
            type: "POST",
            url: "/WebServices/Services.asmx/GetString",
            contentType: "application/json; charset=utf-8",
            async: false,
            dataType: "json",
            success: function (result) { sDate = result.d; }
        });
        alert(sDate);

        $('#calendar').fullCalendar({
            header: {
                left: 'prev,next today',
                center: 'title',
                right: 'month,basicWeek,basicDay'
            },
            editable: true,
            events: [
                {
                    title: 'Click for Google',
                    start: new Date(y, m, 2), // Hardcoded date
                    url: 'http://google.com/'
                }
            ]
        });
    });

</script>

      [WebMethod]
        public string GetString()
        { // Dump data from SQL database into DataTable
            DataTable table = new DataTable();
            table.Columns.Add("Date", typeof(DateTime));
            table.Rows.Add(DateTime.Now);
            return table;
        }
构造函数可以接受许多不同的参数。毫秒是相当稳定的,但是如果您的DB存储Unix时间戳,请记住在调用日期构造函数之前将其转换为毫秒,然后将其乘以1000

旁注:您的代码将无法按预期工作,因为在ajax回调完成之前,sDate不可用。您需要执行以下操作:

$.ajax({
    type: "POST",
    url: "/WebServices/Services.asmx/GetString",
    contentType: "application/json; charset=utf-8",
    async: false,
    dataType: "json",
    success: onSuccess
});

function onSuccess(result) {
    $('#calendar').fullCalendar({
        header: {
            left: 'prev,next today',
            center: 'title',
            right: 'month,basicWeek,basicDay'
        },
        editable: true,
        events: [
            {
                title: 'Click for Google',
                start: new Date( result.d*1000 ), // assuming UNIX time
                url: 'http://google.com/'
            }
        ]
    });
}

您使用的是哪种数据库/服务器端语言?数据库中有时间戳和日期时间数据类型可用于保存日期。您的服务器端语言应该解析日期,以符合前端的要求。您知道,在ajax回调完成之前,sDate不可用,因此在您的示例中,警报将始终为空。