Bonjour à tous !
Voilà, je suis nouveau dans une entreprise, et je dois ajouter une fonctionnalité à un site web déjà existant, développé avec Zend Framework. Ne connaissant pas du tout l'engin, et étant très peu familier avec le MVC, je rencontre de nombreux problèmes. L'un d'eux est le suivant :
J'ai une fonction ajax comme suis :
La fonction en elle-même n'est pas importante, le fonctionnement est très simple, mais j'ai du mal à comprendre les URL. Je sais que l'URL ici correspond à celle de mon site (monsite/admin/user), mais je ne comprend pas ce que ma fonction vient faire la dedans.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 $(document).ready(function(){ // @date 09-12-2014 // @note modifier la ville de départ si un client est sélectionné $("#clientId").on("change",function(){ if( $(this).val() > 0 ){ $.ajax({ url: "/admin/user/getvilledepart", type: "GET", data: { userId: $(this).val() }, success: function(data){ console.log(data); var depart = data.ville; $("#villeDepart").val( depart ); } }); } }); });
le but final, ce serait de copier cette fonction ajax en remplaçant la fonction php appelée par une autre, mais bien évidemment en ajoutant la fonction dans le même fichier que la fonction "getvilledepart" ça ne marche pas.
La fonction en elle-même (si ça vous aide) :
J'ai du mal à exprimer mon problème, et je sais pas si il vient de ma mauvaise compréhension des URL dans ajax, ou de l'utilisation de Zend Framework et du fameux modèle MVC.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 public function getvilledepartAction() { $this->_helper->layout()->disableLayout(); $this->_helper->viewRenderer->setNoRender(true); $id = $this->getRequest()->getParam("userId"); if( !$id ) throw new Exception('Erreur pas d\'id fourni.'); $userModel = new Admin_Model_DbTable_User(); $user = $userModel->obtenirUser($id); header('Content-Type: application/json'); echo json_encode($user); exit; }
Je poursuis mes recherches en parallèle, mais si vous avez des idées, je suis preneur...
Partager