Pagina 2 di 3 primaprima 1 2 3 ultimoultimo
Visualizzazione dei risultati da 11 a 20 su 24

Discussione: MVC e ajax

  1. #11
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    ad esempio, ora ho il codice seguente ma mi da errore nella richiesta e non capisco perchè.

    codice:
    Call to undefined method Controller::loadCarsByChoice2?selection=BMW()
    view:

    codice:
    var carModelUrl = ".../index.php/loadCarsByChoice2";
    var selection = { "selection" : "BMW" };
    
    $.getJSON(carModelUrl, selection, function(json){ ... }
    controller:

    codice:
        function loadCarsByChoice2(){
            $data = $this->model->getCarDetails();
            echo $data;
        }
    model:

    codice:
    public function getCarDetails(){
            
            $carName = $_GET["selection"];
            echo " - ".$carName;
    }

  2. #12
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Ho l'impressione che il tuo MVC abbia qualche problemino nel separare la query string dall'url...

  3. #13
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    ok, non so se ho capito bene..comunque nell'entry point del sito ho questo

    codice:
    require 'view/load.php';
    require 'model/model.php';
    require 'controller/controller.php';
    
    $pageURI = $_SERVER['REQUEST_URI'];
    $pageURI = substr($pageURI,strrpos($pageURI, 'index.php')+10);
    
    if(!$pageURI)
        new Controller('home');
    else
        new Controller($pageURI);

  4. #14
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Bene. E quale parte di quel codice sarebbe in grado di separare la query string dal nome della pagina?

  5. #15
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    Bene. E quale parte di quel codice sarebbe in grado di separare la query string dal nome della pagina?
    non ti seguo..questa riga si occupa di estrarre il nome del metodo da chiamare

    codice:
    $pageURI = substr($pageURI,strrpos($pageURI, 'index.php')+10);

  6. #16
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Quella riga DOVREBBE, nelle tue intenzioni, occuparsi di fare quello che dici.
    In realtà si limita ad estrarre tutto ciò che segue 'index.php' nell'uri. Quindi, in presenza di una query string, estrae pure quella.
    Capisci il problema ora? Perché se non lo capisci, non era decisamente il caso di avventurarsi nella scrittura di un MVC

  7. #17
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    Quote Originariamente inviata da luca200 Visualizza il messaggio
    Quella riga DOVREBBE, nelle tue intenzioni, occuparsi di fare quello che dici.
    In realtà si limita ad estrarre tutto ciò che segue 'index.php' nell'uri. Quindi, in presenza di una query string, estrae pure quella.
    Capisci il problema ora? Perché se non lo capisci, non era decisamente il caso di avventurarsi nella scrittura di un MVC
    capisco il problema e credo che avventurarsi sia l'unica cosa che valga veramente la pena fare.
    A questo punto quindi posso modificare il codice in modo che separi la URI dal valore che sto passando.
    Poi il valore lo passo nel costruttore e al metodo.
    Giusto?

    grazie

  8. #18
    Utente di HTML.it L'avatar di luca200
    Registrato dal
    Apr 2002
    Messaggi
    4,120
    Sicuramente per identificare il metodo da chiamare devi separare la query string.
    Dopodiché, come trattare i parametri che contiene lo stabilirai tu.

  9. #19
    Utente di HTML.it L'avatar di leaf
    Registrato dal
    Oct 2012
    Messaggi
    316
    ce l'ho fatta! grazie

  10. #20
    Il codice del tuo progetto è ospitato su GitHub?

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 © 2020 vBulletin Solutions, Inc. All rights reserved.