2011-07-25 4 views
1

Je voulais jouer avec dajax pour mon projet django actuel. Je stardet en regardant le simple form example sur le site Web, mais je ne peux pas le faire fonctionner correctement. Je continue à obtenir cette erreur (avec Firebug) « Erreur: Dajax ne définit pas »Problèmes Dajax/dajaxice: "Dajax n'est pas défini" et "manquant" après l'instruction "

Aussi je tente de mettre en œuvre le dajaxice example, mais je reçois cette autre erreur:

Error: missing } after function body 
Source File: http://localhost:8000/dajaxice/dajaxice.core.js 
Line: 30, Column: 52 
Source Code: 
    alert("data.message")({"message": "Buuuuuuuuu!"}) 

Voici mes fichiers (ajax.py et javascript.js) et ma fonction de vue. Le modèle html est analogue à celui du site Web.

ajax.py

from django.utils import simplejson 
from dajaxice.core import dajaxice_functions, Dajaxice 
from dajax.core import Dajax 

def myexample(request): 
    return simplejson.dumps({'message':'Buuuuuuuuu!'}) 

dajaxice_functions.register(myexample) 


def updatecombo(request, option): 
    dajax = Dajax() 
    options = [ ['Madrid','Barcelona','Vitoria','Burgos'], 
       ['Paris','Lille','Nantes','Lyon'], 
       ['London','Manchester','Liverpool','Someother'],] 
    out = "" 
    for o in options[int(option)]: 
     out += "%s<option value='#'>%s" % (out,o,) 
    dajax.assign('#combo2', 'innerHTML', out) 
return dajax.json() 

dajaxice_functions.register(updatecombo) 

javascript.js

function the_callback(data){ 
     alert(data.message); 
} 

mon view.py

from django.shortcuts import render_to_response 

def basic_view(request): 
     return render_to_response('test.html', {}, context_instance = RequestContext(request)) 

urls.py

import os 
from django.conf import settings 
from django.conf.urls.defaults import * 
from dajaxice.core import dajaxice_autodiscover 
from dajax_test.tester.views import * 


from django.contrib import admin 
admin.autodiscover() 

dajaxice_autodiscover() 

site_media = os.path.join(
     os.path.dirname(__file__), 'site_media' 
) 

urlpatterns = patterns('', 

     (r'^%s/' % settings.DAJAXICE_MEDIA_PREFIX, include('dajaxice.urls')), 
     (r'^site_media/(?P<path>.*)$', 'django.views.static.serve', {'document_root': site_media},), 


     (r'^dajaxice/$', basic_view) 
) 

J'ai configuré settings.py comme ils disent sur le site principal. je ne sais pas ce qui ne va pas, google ne semble pas aider (toute recherche de dajax/dajaxice donne des résultats pour ajax ... assez évident, assez ennuyeux ...) un indice/aide?

+0

MISE À JOUR: en mettant à jour dajaxice via easy_install j'ai réussi à obtenir le travail de touche (fonction myexample travaille actuellement). Encore j'ai l'erreur sur la fonction updatecombo ("Dajax n'est pas défini") –

Répondre

4

Je réponds à ma propre question depuis que je l'ai compris. il était un problème stupide & erreur ...

i juste oublié d'inclure

<script type="text/javascript" src="{{ MEDIA_URL }}jquery.dajax.core.js"></script> 

dans mon modèle html. J'espère que c'est utile pour quelqu'un, un jour! si vous ne l'utilisez jquery, essayez one of the others

Questions connexes