javascript - 如何更改fullcalendar中ajax发送的 'start'和 'end'参数?

标签 javascript php ajax json fullcalendar

以下是通过 Ajax 请求 JSON 数据的 URL:

'/php/get-events.php?start=2015-05-31&end=2015-06-07&_=1433154089490'. 

因此它将返回从2015-05-31到2015-06-07的JSON数据

但是我想检索更大时间范围内的数据(可能超过一个月或一年)。

因此,我需要更改 Ajax 参数“start”和“end”。

fullcalendar 文档建议使用 'startParam' 和 'endParam' 但它不起作用,即使我将其设置为 (YYYY-MM-DD) 格式或UNIX 时间戳 格式。

如何更改 fullcalendar 中的“开始”和“结束”参数?

感谢您的帮助。

更新:

function show() {
    var events = {
        url: 'php/get-events.php',
        data: {
            q:"", // my parameter
            code: "", // my parameter
            startDate: '2014-08-08', //fullcalendar parameter
            endDate: '2015-08-08', // fullcalendar parameter
        },
        success: function (JS){

        },
    }
    $('#calendar').fullCalendar('removeEventSource', events);
    $('#calendar').fullCalendar('addEventSource', events);
}

fullcalendar 会自动为每个 View 生成“开始”和“结束”参数( View 的开始日期和结束日期)。我需要更改这些以检索更广泛的时间范围数据(例如:一年多)。

最佳答案

据我了解,您想更改参数名称?我相信更改 startParama 和 endParam 不起作用,它们只允许您更改随请求发送的参数,默认情况下为 start 结束

一种方法是创建自定义 View ,否则这里是现有默认 View 的解决方案。首先设置一个您可以控制的全局 startend 参数名称,例如:

window.fc_startParam = 'startDate';
window.fc_endParam = 'endDate';

然后你要修改success内的JS对象,如:

function show() {
    var events = {
        url: 'php/get-events.php',
        data: {
            q:"", // my parameter
            code: "", // my parameter
            startDate: '2014-08-08', //fullcalendar parameter
            endDate: '2015-08-08', // fullcalendar parameter
        },
        success: function (data){
            var events = Object
                .keys(data)
                .map(function(key) {
                    return data[key];
                })
                .map(function(post, index) {

                    var json = {
                        q: post.q,
                        code: post.code,
                        start: post[window.fc_startParam]
                        end: post[window.fc_endParam]
                    }

                    return json;

                });

            return events;

        },
    }
    $('#calendar').fullCalendar('removeEventSource', events);
    $('#calendar').fullCalendar('addEventSource', events);
}

关于javascript - 如何更改fullcalendar中ajax发送的 'start'和 'end'参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30571321/

相关文章:

php - getimagesize 函数无法正常工作

javascript - ajax 测试不工作

javascript - 是否可以将 Javascript 函数参数传递给 PHP?

javascript - 在执行特定命令后重置间隔

javascript - ChildNodes/NodeValue 混淆

javascript - 创建有状态的 jQuery 插件是最佳实践吗?如果是这样,我该怎么做?

javascript - 如何在每天的特定时间自动对 PHP 脚本执行 AJAX 请求?

php - 当我使用 php 连接时,我的数据库密码是否暴露?

javascript - 使用 JQuery 将 id 传递给 php

javascript - ajax 内的分页无法转到正确的页面