Django Dajax jQuery основные настройки - PullRequest
1 голос
/ 05 февраля 2012

Может быть, это так тривиально, но я просто не могу заставить 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 Ответ

1 голос
/ 30 июля 2012

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

...