Django Dajax jQuery基本设置

时间:2012-02-05 19:41:54

标签: jquery django dajaxice

也许它是如此微不足道,但我根本无法让Dajax使用jQuery。一切都按预期的原型工作,但如何设置dajax与jquery一起工作?我使用的是dajaxexamples,并且有原型设置。

头部:

    <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 个答案:

答案 0 :(得分:1)

如果您仍在努力让其发挥作用:不要像这样手动调整Dajax.prototype = {代码,请尝试根据documentation加载Dajax提供的.js文件(请参阅“&lt; head&gt;中包含Dajax”部分)。