2017-09-27 5 views
0

J'utilise Django pour envoyer JsonResponse. Si je mappe response.json() Angular me renvoie une erreur que je ne peux pas gérer. De plus, si j'utilise response.text() pour la visualisation des données, il retourne quelque chose comme ça:Parse Django JsonResponse avec Angular 4

Réponse: {u'foo ': u'bar', u'title ': u'Salut monde'}

En angulaire 4 J'ai ce code:

return this._http.post(this.serverUrl, JSON.stringify(data), {headers: headers}) 
     .map((response:Response) => response.json()) 
     .catch(this.handleError); 

Dans Django Python j'ai ce code:

response= {'foo': 'bar', 'title': 'hello world'} 
return JsonResponse(response, safe=False); 

J'ai aussi tryed ceci:

return HttpResponse(json.dumps(response), content_type='application/json; charset=utf-8',) 
return HttpResponse(json.dumps(response)) 
return json.dumps(response) 
return response 
+1

Quelle est la réponse que vous obtenez en fait du serveur? Celui qui commence par 'R'. – hlfrmn

+0

Le serveur me renvoie cette réponse (testé aussi avec Postman): 'Réponse: Content-Type: application/json {" title ":" bonjour monde "}' –

+0

'return HttpResponse ( json.dumps (responseDictionary), mimetype = "application/json" ) '? En outre, avez-vous vérifié si vous avez un intergiciel génial convertissant des choses? – hlfrmn

Répondre

0
from django.http import JsonResponse 

def profile(request): 
    data = {'foo': 'bar', 'title': 'hello world'} 
    return JsonResponse(data)