Visualizzazione dei risultati da 1 a 6 su 6
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    335

    $jquery con codeigniter non capisco la chiamata URL non funziona.

    Salve a tutti,
    come da titolo, ho un problema nel capire il percorso della chiamata URL in $ajax, non riesco a far eseguire delle funzioni dentro un controller chiamate da uno script di Fullcalendar.
    lo script ha questo codice :
    ho il calendario in /view/calendar/fullcalendar.php
    il controller in /controllers/Fullcalendar.php
    il model in /models/Fullcalenda_model.php

    codice:
        <script>
        $(document).ready(function(){
            
            var calendar = $('#calendar').fullCalendar({
                editable:true,
                header:{
                    left:'prev,next today',
                    center:'title',
                    right:'month,agendaWeek,agendaDay'
                },
                events:"<?=base_url();?>fullcalendar/load" ,
    
                selectable:true,
                selectHelper:true,
        
        
                select:function(start, end, allDay)
                {
                    var title = prompt("Scrivi un Titolo ");
                    if(title)
                    {
                        var start = $.fullCalendar.formatDate(start, "Y-MM-DD HH:mm:ss");
                        var end = $.fullCalendar.formatDate(end, "Y-MM-DD HH:mm:ss");
                        $.ajax({
                            url: "<?=base_url();?>fullcalendar/insert",
                            type:"POST",
                            data:{title:title, start:start, end:end},
                            success:function(data)
                            {
                                calendar.fullCalendar('refetchEvents');
                                alert("Aggiunto correttamente");
                            },
                             error : function(){
                                           alert(events);
                                    }
                        })
                    }
                },
                
              
                 
                editable:true,
                eventResize:function(event)
                {
                    var start = $.fullCalendar.formatDate(event.start, "Y-MM-DD HH:mm:ss");
                    var end = $.fullCalendar.formatDate(event.end, "Y-MM-DD HH:mm:ss");
    
                     var title = event.title;
                     var id = event.id;
    
                    $.ajax({
                        url:"<?php echo base_url(); ?>fullcalendar/update",
                        type:"POST",
                        data:{title:title, start:start, end:end, id:id},
                        success:function()
                        {
                            calendar.fullCalendar('refetchEvents');
                            alert("Event Update");
                        }
                    })
                },
                eventDrop:function(event)
                {
                    var start = $.fullCalendar.formatDate(event.start, "Y-MM-DD HH:mm:ss");
                    //alert(start);
                    var end = $.fullCalendar.formatDate(event.end, "Y-MM-DD HH:mm:ss");
                    //alert(end);
                    var title = event.title;
                    var id = event.id;
                    $.ajax({
                        url:"<?php echo base_url(); ?>fullcalendar/update",
                        type:"POST",
                        data:{title:title, start:start, end:end, id:id},
                        success:function()
                        {
                            fullcalendar.fullCalendar('refetchEvents');
                            alert("Event Updated");
                        }
                    })
                },
                eventClick:function(event)
                {
                    if(confirm("Sei sicuro di voler cancellerare ?"))
                    {
                        var id = event.id;
                        $.ajax({
                            url:"<?php echo base_url(); ?>fullcalendar/delete",
                            type:"POST",
                            data:{id:id},
                            success:function()
                            {
                                calendar.fullCalendar('refetchEvents');
                                alert('Event Removed');
                            }
                        })
                    }
                }
            });
        });
                 
        </script>
    ci sto girando intorno da ieri, provo a modificare i percorsi anche estendendo il tutto da
    application/controllers/fullcalendar ma non ottengo nessun risultato.
    Qualcuno che mi pu� dare una delucidazione? Grazie mille.

  2. #2
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,682
    Ciao, la butto lì, non è che a quegli URL va semplicemente aggiunta l'estensione .php?
    Non sono dei file php!?
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  3. #3
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    335

    Rispondo

    Grazie per la risposta, purtroppo non è quello il motivo, il controller ha un estensione .php ma la funzione è interna al controller, in Codeigniter chiamando il controller non bisogna indicare l'estensione.

  4. #4
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,682
    Ho visto. Non sono pratico di Codeigniter né tanto meno di FullCalendar ma in generale, per prima cosa, darei un'occhiata alla console del browser. Tu lo hai fatto? Sempre che la pagina sia aperta su un browser che abbia gli strumenti di sviluppo.

    Verifica eventualmente se nella console ricevi qualche tipo di errore.

    Nel caso sia tutto ok, potresti magari inserire, nello script, dei console.log() di quegli URL per verificare che questi risultino corretti o, quantomeno, vedere cosa ti salta fuori.

    Puoi ad esempio inserire una cosa del genere ad inizio script:
    Codice PHP:
    console.log("<?=base_url();?>fullcalendar/insert");
    e così per gli altri URL.

    A quel punto basta eseguire lo script e verificare cosa ti viene riportato nella console del tuo browser (F12 oppure Ctrl+Shift+I).

    Poi, ripeto, non sono esperto, anche vedendo il testo degli URL non saprei se possano essere corretti o meno; magari il problema sta da tutt'altra parte, ma in quel modo potrai almeno avere un punto di partenza su cui fare opportune ricerche.

    Il mio aiuto si limita a questi consigli; magari altri utenti, con maggiore esperienza sul framework in questione, potranno consigliarti meglio.

    Buon proseguimento
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  5. #5
    Moderatore di CSS L'avatar di KillerWorm
    Registrato dal
    Apr 2004
    Messaggi
    5,682
    Aggiungo, occhio alle maiuscole e minuscole negli URL; se le risorse stanno su server Linux/Unix, gli URL sono case-sensitive (o, più precisamente, il path degli URL).

    In tal caso "fullcalendar/insert" è diverso da "Fullcalendar/insert". Controlla quindi l'esatta corrispondenza tra le cartelle del framework e i nomi usati negli url delle chiamate AJAX.

    Su server windows non dovrebbe esserci questo problema.
    Installa Forum HTML.it Toolset per una fruizione ottimale del Forum

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2010
    Messaggi
    335
    grazie per le risposte che servono sempre ad aprirci la mente.
    In realta' ho provato a verificare da FF monitorando la rete ed ho riscontrato dei problemi con jquery con la versione fullcalendar 3.4 questo pomeriggio provo a cercare la versione che non mi crea il codice di errore 404.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.