Bonjour à tous,

J'ai un petit souci sur une application web MVC. Je m'explique :

J'ai dans un fichier javascript une fonction utilisant $.get de JQuery ou $.post pour envoyer ou récupérer des infos côté serveur.

Les foncions de JQuery ont des callback success et error au niveau de la requête ajax :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
 
$.get(Url de la fonction)
   .success(function(data) {
       //javascript à exécuter en cas de succès
   })
   .error(function(response, status, xhr) {
      //javascript à exécuter en cas d'erreur
   });
L'url de la fonction correspond à une fonction présente dans un contrôleur. Le seul moyen que j'ai trouvé pour renvoyer une erreur dans la fonction c# du contrôleur est le code suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
return new HttpStatusCodeResult(500, "SD");
Le deuxième paramètre est une variable string que je récupère après dans la variable javascript "xhr" :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
.error(function(response, status, xhr)
Ceci marche très bien mais aujourd'hui j'ai installé mon application chez un client et afin d'éviter de taper l'IP du serveur il a ajouté l'IP dans le DNS qu'ils ont (sous windows server 2008).

Depuis, je ne récupère plus la variable string ("SD") me permettant d'afficher un message perso, par défaut le navigateur affiche le message correspondant au code d'erreur 500 (Internal server error).

Questions :
- Dois-je utiliser un autre code d'état HTTP ?
- Renvoyer autre chose que HttpStatusCodeResult
- Pour une fonctionnalité j'utilise ce fonctionnement pour exécuter une fonction JS qui ouvre une popup donc celle-ci n'est plus accessible.

Je vous remercie d'avance pour vos lumières.