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 :
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:
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 });
Le deuxième paramètre est une variable string que je récupère après dans la variable javascript "xhr" :Code:return new HttpStatusCodeResult(500, "SD");
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).Code:.error(function(response, status, xhr)
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.