2009-07-08 5 views
0

Je sais que cela fonctionne car les données sont remplies dans un plug-in jQuery une fois qu'il a analysé la réponse JSON. Et j'ai appelé cela tellement de fois auparavant dans le passé juste pour vérifier le JSON retourné dans le navigateur. Mais dernièrement pour une raison quelconque, et après que j'ai déboulé avec le débogueur pour trouver que le code dans mon .xx fonctionne très bien, je reçois une invite de téléchargement qui me demande de télécharger le fichier .ashx au lieu de JSONL'appel à .ashx renvoie le fichier et non le résultat JSON.

http://localhost:59396/xxx/xxxHandler.ashx?action=getproducts&showprodname=true&showprodprice=true&ids=5410,8362,6638,6758,7795

+0

le .ashx ouvert a le JSON. Mais je suis frustré ici parce que dans le passé j'étais capable de juste le voir dans le navigateur quand je suis retourné tout droit! – PositiveGuy

+0

Voici l'encodage que j'ai sur mon .ashx lorsque je renvoie le JSON: context.Response.ContentType = "application/json"; context.Response.Charset = "utf-8"; – PositiveGuy

Répondre

0

Avez-vous observé votre trafic réseau (par exemple www.fiddler2.com)? Quel type de contenu est renvoyé?

Avez-vous enregistré le fichier pour voir ce qu'il contient réellement?

Si vous obtenez le code source, cela signifie que le HTTPHandler n'est pas en cours d'exécution pour exécuter la source ASP.NET.

+0

La source est en cours d'exécution, je l'ai traversée. – PositiveGuy

+0

Si IE va offrir d'enregistrer "application/json" ou essayer de le rendre comme du texte dépend de ce que vous avez dans votre registre pour ce type MIME. – EricLaw

0

Avez-vous hébergé la page Web sous IIS? Il peut être parce que l'extension de fichier .ashx n'est pas enregistrée avec IIS. Vérifiez l'extension .ashx sous les mappages de fichiers IIS dans ce cas.

+0

Alors pourquoi cela a-t-il fonctionné pour la semaine passée et maintenant décide de ne pas le faire? – PositiveGuy

+0

Possible re enregistrement des mappages de fichiers, quelque chose s'est mal passé dans aspnet_regiis, pourrait être beaucoup de choses. Je ne dis pas que le problème est à cause de cela, mais pourrait l'être. – Prashanth

0

Confirmez que vous avez le bon type de contenu comme le suggère EricLaw, mais si vous essayez de naviguer directement vers le JSON, cela fonctionne comme prévu. Demander l'URL de javascript et voir si vous obtenez la réponse attendue de données. Le navigateur voit le fichier comme un fichier ASHX, qui est enregistré dans Visual Studio, mais il s'agit en fait d'un fichier texte que vous devriez pouvoir lire dans n'importe quel fichier s'il s'agit en fait de json.

+0

J'ai collé ceci dans le navigateur pendant une semaine d'affilée. Je n'ai jamais reçu d'invite pour télécharger le fichier .ashx au lieu du fichier JSON. J'ai toujours récupéré JSON et je l'ai traversé et la chaîne que je retourne dans mon code .xx a JSON valide envoyé à l'éditeur de contexte – PositiveGuy

+0

J'ai été capable de simplement exécuter ceci et il a sorti le JSON droit au navigateur tout au long la semaine dernière! – PositiveGuy

+0

Eh bien, alors peut-être que vous voudrez peut-être voir ce que contient le fichier ASHX - il se peut que la sortie ne soit plus json. Comme dit le gestionnaire jette une exception. . . –

Questions connexes