2012-02-05 2 views
1

Возможно, это так тривиально, но я просто не могу заставить Dajax работать с jQuery. Все работает так, как ожидалось, с прототипом, но как настроить dajax для работы с jquery? Я использую dajaxexamples и есть все настройки для прототипа.Django Dajax jQuery базовые настройки

в голове:

<script src="http://www.google.com/jsapi"></script> 
    <script> 

    // Load Prototype 
    google.load("prototype", "1.6.0.3"); 
    //google.load("jquery", "1.3.2"); 
    //google.load("mootools", "1.2.1"); 
    //google.load("dojo", "1.3.1"); 

    /** 
    Callback test 
    **/ 

    function my_callback(data){ 
     alert(data+' received from server'); 
    } 

    </script> 

в теле:

<script type="text/javascript" charset="utf-8"> 
/* Copyright (c) 2009-2010, Benito Jorge Bastida :: For further information check COPYING */ 
var Dajax = Class.create(); 
Dajax.prototype = { 
    initialize: function(){}, 
    process: function(data) 
    { 
     if(data==Dajaxice.EXCEPTION){ 
      alert('Something went wrong, please reload the page.'); 
     } 
     else{ 
      data.each(function(elem){ 
      switch(elem.cmd) 
      { 
       case 'alert': 
        alert(elem.val) 
       break; 

       case 'data': 
        eval(elem.fun+"(elem.val);"); 
       break; 

       case 'as': 
        $$(elem.id).each(function(e){e[elem.prop] = elem.val;}); 
       break; 

       case 'addcc': 
        elem.val.each(function(cssclass){ 
         $$(elem.id).each(function(e){ e.addClassName(cssclass);}); 
        }); 
       break; 

       case 'remcc': 
        elem.val.each(function(cssclass){ 
         $$(elem.id).each(function(e){ e.removeClassName(cssclass);}); 
        }); 
       break; 

       case 'ap': 
        $$(elem.id).each(function(e){ e[elem.prop] += elem.val;}); 
       break; 

       case 'pp': 
        $$(elem.id).each(function(e){ e[elem.prop] = elem.val + e[elem.prop];}); 
       break; 

       case 'clr': 
        $$(elem.id).each(function(e){e[elem.prop] = "";}); 
       break; 

       case 'red': 
        window.setTimeout('window.location="'+elem.url+'";',elem.delay); 
       break; 

       case 'js': 
        eval(elem.val); 
       break; 

       case 'rm': 
        $$(elem.id).each(function(e){e.remove();}); 
       break; 

       default: 
        alert('Unknown action!'); 
       } 
      }); 
     } 
    } 
}; 

Dajax = new Dajax(); 
</script> 

Что я попробовать это раскомментировать google.load("jquery", "1.3.2"); строку и изменить функцию инициализации Dajax.prototype = { в Dajax.jquery = {, но он не работает вообще.

ответ

1

В случае, если вы все еще пытаетесь получить эту работу: вместо тонкой настройки Dajax.prototype = { код вручную, как это, попробуйте просто загружая Dajax поставляемой .js файла по documentation (смотрите раздел «Включить Dajax в вашем < головы > ").