2010-11-08 2 views
0

Я пытаюсь изучить некоторые из более продвинутых шаблонов java-скриптов при использовании jQuery, чтобы облегчить некоторые трудности ajax с помощью jQuery. Однако я продолжаю сталкиваться с проблемой, которая не вызывает ошибок.Вызов jQuery.load в объектном литерале

Я хочу, чтобы иметь возможность вызвать ajaxCalls.setup ({}) и заменить его по умолчанию объектом, переданным в настройку. У меня есть эта работа. Кажется, у меня проблемы с вызовом ajax. Когда функция callIt запускает $ (this.defaults.element) .load (....) не запускается или если это не выполняется. Я довольно тупой. Я просто пытаюсь узнать что-то новое. Я был бы признателен за любую помощь

<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> 

Спасибо за вашу помощь test.php только имеет это в нем

<p>IT WORKED</p> 

примечанием: в этом проекте, я намеревался использовать только JQuery для выбора DOM и Ajax звонки

ответ

0

Вам необходимо настроить запуск ajaxCalls.setup после загрузки страницы с использованием document.ready например.

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

В противном случае вы пытаетесь заменить свой div перед загрузкой html.

Смежные вопросы