Bonjour à tous,
J'ai une application reposant sur : App Engine/Django/Python. Un de mes appels AJAX me pose soucis. Les retours du callback sont tous à "undefined" alors que dans les outils de développement Web (Firefox et Chrome), le statut de la requête est 200 et j'ai bien un objet json en réponse... Lorsque je tape l'URL directement dans mon navigateur, j ai bien mon JSON qui s'affiche. Voici mes codes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32 // code JavaScript EstablishmentUI.prototype.click = function(){ var estUI = this; if(null == estUI.getEstablishment().getInfoWindow()){ console.log("if") var callbacks = { error: function(error){ console.log(error); }, success: function(response, textStatus, jqXHR ){ console.log(response); console.log(textStatus); console.log(jqXHR); } } estUI.getEstablishment().HTTPgetDetails(callbacks); } else{ console.log("else") estUI.displayInfoWindow(); } }; Establishment.prototype.HTTPgetDetails = function(callbacks){ $.ajax({ type : "GET", url : "apli/establishment/" + this.id + "/" , dataType: 'json', cache: false, error: function(error){callbacks.error();}, success: function(response){callbacks.success();} }); };
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 // code python qui génère le JSON #@csrf_exempt def get_establishment(request, establishment_id): try: establishment = EstablishmentScala.objects.filter(codeUds=establishment_id).values() if establishment.exists(): json_data = '{"establishment":' + json.dumps(establishment[0]) + '}' else: establishment = EstablishmentVille.objects.filter(codeEta=establishment_id).values() json_data = '{"establishment":' + json.dumps(establishment[0]) + '}' return HttpResponse(json_data.encode('utf8'), content_type='application/json; charset=utf-8') except Exception, exception: return utility.create_http_error_response(exception.message)
J'ai du mal à comprendre ce qu'il se passe... Merci d'avance pour votre aide!!
Partager