2010-11-08 4 views
0

J'essaie d'apprendre quelques-uns des modèles de script java les plus avancés tout en utilisant jQuery pour atténuer une partie de la difficulté ajax avec jQuery. Cependant, je continue à courir vers un problème qui ne génère aucune erreur.Appel de jQuery.load dans un objet littéral

Je veux être en mesure d'appeler le ajaxCalls.setup ({}) et de le remplacer par les valeurs par défaut avec l'objet passé à l'installation. J'ai cette partie qui fonctionne. Ce que je semble avoir des problèmes avec l'appel ajax. Lorsque la fonction callIt s'exécute, le $ (this.defaults.element) .load (....) ne s'exécute pas ou s'il échoue. Je suis plutôt perplexe. J'essaie juste d'apprendre quelque chose de nouveau. Je vous serais reconnaissant toute aide

<html> 
    <head> 
     <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.3/jquery.min.js"></script> 
     <script> 
      var ajaxCalls = (function($){ 

       var ajaxer = {     

        defaults:{ 
         url:"test.php", 
         element:"#ajaxerizer" 
        }, 

        setup:function(setup){    
         var defaulLengther = this.defaults 
         /*var l = 0;*//*bug*/ 
         for (var key in defaulLengther) 
         { 
          if(setup.hasOwnProperty(key)) 
          { 
           this.defaults[key] = setup[key]; 
           /*l++;*//*bug*/ 
          } 
         } 
         /*debugger*/ 
         /*for(var i=0; i < l; i++) 
         { 
          alert(this.defaults.power); 
         } */  
         this.callIt(); 
        }, 

        callIt:function(){ 
         $(this.defaults.element).load(this.defaults.url, function(){alert("success");}); 
        }, 


       } 
       return ajaxer 

      })(jQuery); 

      ajaxCalls.setup({}) 
     </script> 

    </head> 
    <body> 

     <div id="ajaxerizer"></div> 

    </body> 
</html> 

Merci pour votre aide test.php a juste ce qu'il en

<p>IT WORKED</p> 

une note: dans ce projet, je comptais utiliser uniquement jQuery pour la sélection DOM et appels AJaX

Répondre

0

Vous devez configurer votre ajaxCalls.setup pour qu'il s'exécute après le chargement de la page en utilisant document.ready par exemple.

$(document).ready(function(){ 
     ajaxCalls.setup({}) 
    }); 

Sinon, vous essayez de remplacer votre div avant le chargement du code HTML.

Questions connexes