2013-03-28 4 views
3

Sur IE quand j'essaie de parcourir les autres apis, j'obtiens une réponse application/json au lieu de la réponse api (text/html) (Retourne la réponse html sur firefox). J'utilise django restframework 2.2.5 à cet effet. J'ai lu les documnets et compris que pour résoudre le problème des en-têtes cassés pour IE, nous devons utiliser explicitement TemplateHTMLRenderer dans la vue, donc j'ai ajouté ce qui suit à la définition de classe de ma vue, mais je suis toujours obtenir une réponse de JSON. Est-ce que je ne le fais pas correctement ou il me manque quelque chose d'autre?Réponse rendue comme json dans IE pour navigable apis

class CustomReports(generics.GenericAPIView):

`renderer_classes = (renderers.TemplateHTMLRenderer)` 

Pouvez-vous s'il vous plaît aider à résoudre le problème afin que j'obtenir une réponse html en cas d'IE ainsi?

Répondre

0

Quelle version d'IE utilisez-vous? Je crois que les nouvelles versions de IE devraient envoyer Accept en-têtes corrects.

Je ne voudrais probablement pas essayer d'arranger les choses pour contourner le comportement cassé d'IE, mais plutôt assurez-vous que vous incluez format suffixes dans vos urls. Ensuite, vous pouvez simplement utiliser le suffixe .api pour voir l'API navigable, ou le suffixe .json pour voir le json simple. Par exemple, au lieu de http://127.0.0.1:8000/api-root/, utilisez http://127.0.0.1:8000/api-root/.api.

+0

J'ai effectivement essayé cela avec quelques version d'IE .. il a semblé fonctionner seulement avec IE 9, mais n'a pas fonctionné sur IE8 et IE 10. – Snehal

+0

L'entête d'acceptation devrait vraiment être correct [à partir d'IE9] (http://blogs.msdn.com/b/fiddler/archive/2011/02/10/fiddler-is-better-with-internet-explorer-9.aspx). Possible votre test IE10 était dans un mode de compatibilité. Si cela ne fonctionne pas vraiment sur IE10, je serais intéressé de voir ce que les en-têtes acceptent. –

+0

Je viens de vérifier avec IE10 vue standard .. il fonctionne mais il ne fonctionne pas si elle est en vue de compatibilité. Les entêtes acceptées sont: application/application x-ms, image/jpeg, application/xaml + xml, image/gif, image/pjpeg, application/x-ms-xbap, application/vnd.ms-excel, application/vnd.ms-powerpoint, application/msword, */* – Snehal

Questions connexes