Events 用于在fullcalendar中加载项目任务的Ajax$.post方法

Events 用于在fullcalendar中加载项目任务的Ajax$.post方法,events,project,fullcalendar,task,Events,Project,Fullcalendar,Task,早上好 我想在我的mvc项目中添加一个完整的日历 当我尝试用项目任务编码json时,问题就出现了。我使用的代码如下所示: proyectosModel.php public function obtenerTareasProyecto($idProyecto){ $sql = "SELECT tareasProyectos.nombre as title, tareasProyectos.fechaInicio as start, tareasProyectos.fechaLimite

早上好

我想在我的mvc项目中添加一个完整的日历

当我尝试用项目任务编码json时,问题就出现了。我使用的代码如下所示:

proyectosModel.php

public function obtenerTareasProyecto($idProyecto){
    $sql = "SELECT tareasProyectos.nombre as title, tareasProyectos.fechaInicio as start, tareasProyectos.fechaLimite as end, tareasProyectos.estado , proyectos.idProyecto, proyectos.nombre as NombreProyecto, usuarios.codUsuario, usuarios.nombre, usuarios.apellido1, usuarios.apellido2\n";
    $sql .= "FROM tareasProyectos\n";
    $sql .= "JOIN proyectos on tareasProyectos.FKidProyecto = proyectos.idProyecto\n";
    $sql .= "JOIN usuarios on tareasProyectos.FKusuarioAsignado = usuarios.codUsuario\n";
    $sql .= "WHERE tareasProyectos.FKidProyecto ='" . $idProyecto . "'";
    $tareasProyecto = $this->_db->query($sql);
    return $tareasProyecto->fetchall(PDO::FETCH_ASSOC);
}
public function obtenerTareasProyecto() {
    echo json_encode($this->_proyectos->obtenerTareasProyecto($this->getTexto('idProyecto')));
}
proyectoscocontroller.php

public function obtenerTareasProyecto($idProyecto){
    $sql = "SELECT tareasProyectos.nombre as title, tareasProyectos.fechaInicio as start, tareasProyectos.fechaLimite as end, tareasProyectos.estado , proyectos.idProyecto, proyectos.nombre as NombreProyecto, usuarios.codUsuario, usuarios.nombre, usuarios.apellido1, usuarios.apellido2\n";
    $sql .= "FROM tareasProyectos\n";
    $sql .= "JOIN proyectos on tareasProyectos.FKidProyecto = proyectos.idProyecto\n";
    $sql .= "JOIN usuarios on tareasProyectos.FKusuarioAsignado = usuarios.codUsuario\n";
    $sql .= "WHERE tareasProyectos.FKidProyecto ='" . $idProyecto . "'";
    $tareasProyecto = $this->_db->query($sql);
    return $tareasProyecto->fetchall(PDO::FETCH_ASSOC);
}
public function obtenerTareasProyecto() {
    echo json_encode($this->_proyectos->obtenerTareasProyecto($this->getTexto('idProyecto')));
}
proyectos.js

$(document).ready(function(proyecto){
   var cargarTareas = $.post('/distribucion/proyectos/obtenerTareasProyecto',
   {
   idProyecto: proyecto
   }, function(datos){
     //Here I need to link the title, start and end properties.
    }, 'json'}

    //Cargamos el calendario principal
    $("#calendario").fullCalendar({
        weekMode:'variable',
        header:{ //Cabecera
            left:   'month,basicWeek,agendaDay',
            center: 'title',
            right:  'today prev,next'
        },
        firstDay:1, //Primer día de la semana
        selectable: true, //Fechas seleccionables
        titleFormat:{//Formato del título del calendario
            month: "MMMM yyyy",
            week: "d 'd&#101' MMMM",
            day: "dddd, d 'd&#101' MMMM, yyyy"
        },
        columnFormat:{
            month:"dddd",
            week:"dddd d/M",
            day:"dddd d/M"
        },
        monthNames:['Enero','Febrero','Marzo','Abril','Mayo','Junio','Julio','Agosto','Septiembre','Octubre','Noviembre','Diciembre'],
        monthNamesShort:['Ene','Feb','Mar','Abr','May','Jun','Jul','Ago','Sep','Oct','Nov','Dic'],
        dayNames: ['Domingo', 'Lunes', 'Martes', 'Miércoles', 'Jueves', 'Viernes', 'Sábado'],
        dayNamesShort:['Dom','Lun','Mar','Mie','Jue','Vie','Sab'],
        buttonText:{
            month:'mes',
            week:'semana',
            day: 'día',
            today:'Hoy'
        },
        eventSources: [
        {
            events: //¿how can I do with the $.post() method?

        }
        ]
    });
}

在javascript文件中,我使用$.post()方法加载ajax,但我不知道如何请求每个事件或项目任务的标题、开始和结束属性

干杯。
Francisco J.

我认为您需要做的是将php调用指定为
eventSource
,就像jquery.ajax示例中那样。您需要将参数指定为类似于

events: {
    url: '/distribucion/proyectos/obtenerTareasProyecto',
    type: 'POST',
    data: {
         idProyecto: proyecto
    }
 }
然后它将接收JSON返回并(如果格式正确)将其转换为日历事件


希望这有帮助

您的
datos
对象在
post
函数中是什么样子的?它是否真的镜像了您期望从服务器获得的数据?谢谢,post函数中的DATO引用了我使用该模型从数据库获得的数据。我想我应该遍历数据库,但是如何才能将项目添加到fullcalendar?感谢advanced。我使用了$.post()jquery方法,但是当我更改到另一个月或在视图之间更改(月、基本周或基本日)时,我丢失了事件。我怎样才能坚持下去呢?感谢您的回复。亲爱的朋友,我使用设置为true的stick参数获得了它,并且在更改视图后日历仍然是事件。谢谢大家。弗朗西斯科J。