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 :
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 :
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" :
.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.
Partager