Quick links: Content - sections - sub sections
EN FR
Quick Search Advanced search
 
Page

  [Opened] [résolu] getJSON

Posted by jayjay on 09/17/2010 10:42

Bonjour,

Pour charger les données de ma liste 2 en fonction de la sélection de la liste 1, je veux utiliser json. Mais je plante!!! Apparemment j'utilise mal $.getJSON.

Mon code javascript

<code>
 <script type="text/javascript">  
 {literal} 
        
    function handleChange() 
    {   
        $.getJSON('governance~loader:loadThemes', function (data)
        {
            alert('Hello');//Juste pour tester
        });
        
        
    }   
	
    function load() 
    { 
       var oElement =    document.getElementById("jforms_governance_searchEngine_id_type_governance"); 
		
	if( !window.addEventListener ) 
	    oElement.OnChange=function(){handleChange()}
        
        //compatibilité IE 
		
	    else oElement.addEventListener("change", handleChange, false); 
    } 

{/literal}

</script>

{meta_html bodyattr array('onload'=>'load()')}

</code>

Le code du contrôleur que j'appel via $.getJSON

class loaderCtrl extends jController {
<code>
   protected $dbProfil = 'governance';
 	
   function loadThemes()
   {
       $daoTheme = jDao::get('theme~theme');
       
       $condition = jDao::createConditions();
       $condition->addCondition
       ('id_governance','=',$this->param('id_type_governance'));
       
       $themes = $daoTheme->findBy($condition);
       
       $rep = $this->getResponse('json');
       $rep->data = $theme->fetchAll();
       
       return $rep;
       
       
    }

}

</code>

Noter que l'événement change est bien détecté

Quelqu'un peut-il m'éclairé ? Merci

  [Opened] getJSON

Reply #1 Posted by Vincentv on 09/17/2010 13:57

$.getJSON('governance~loader:loadThemes', function (data)
{
alert('Hello');//Juste pour tester
});

Essai de passer une URL à getJSON à la place d'un sélecteur jelix, ca devrais mieux fonctionner ^^

  [Opened] getJSON

Reply #2 Posted by catsoup on 09/17/2010 20:46

Salut, je crois pas que ce code fonctionne tres bien en effet :p Puisque 'governance~loader:loadThemes' est un selecteur (d'action), qui doit être donné en paramètre, de la méthode jUrl en l'occurence, pour qu'il soit converti en url. Donc il faut récupérer l'url, avec {jurl 'governance~loader:loadThemes'} ou encore mieux {urljsstring 'governance~loader:loadThemes'} : http://jelix.org/articles/fr/manuel-1.2/(..)

Ce qui donne:

<script type="text/javascript">  
<code>
  var url = {urljsstring 'governance~loader:loadThemes'};
  {literal} 
  function handleChange(){
    $.getJSON(url, function (data){
      alert('Hello');//Juste pour tester
    });       
  }   

{/literal}

</script> </code>

  [Opened] getJSON

Reply #3 Posted by foxmask on 09/17/2010 20:51

ou simplement comme ceci ;)

edit : ah catsoup plus rapide :) j'ai mis 10min a trouve dans la doc :D


@GitHub - Forum HaveFnuBB! powered by Jelix - Le Booster Jelix !

  [Opened] getJSON

Reply #4 Posted by jayjay on 09/18/2010 13:46

Merci,

mais j'ai tenté les solutions proposées sans succès. Franchement pas de piste...N'y a t'il rien a faire au niveau du contrôleur ??

  [Opened] [Résolu] getJSON

Reply #5 Posted by jayjay on 09/18/2010 14:51

Trop vite mon constat!!! ça marche avec le urljsstring Merci

 
Page
  1. [résolu] getJSON