jqgrid côté serveur message d'erreur/de validation de la manipulation
Dans mes réponses json, j'ai des "STATUT" et "erreurs " propriétés".
Comment pouvez utiliser cette erreurs propriétés avec jqGRid. Pour analyser toutes les erreurs et de les afficher dans une boîte de dialogue.
Fondamentalement, il suffit de vérifier si l'état: "ERREUR" alors afficher toutes les erreurs.
Merci!
OriginalL'auteur user620339 | 2011-08-05
Vous devez vous connecter pour publier un commentaire.
Dans la dernière partie de la réponse à votre question précédente, j'ai essayé déjà essayé de donner la réponse sur votre question. Sans doute, je m'exprimaient pas assez clair.
Vous ne devriez pas vous et des informations sur l'erreur à l'intérieur de la norme de réponse en cas de succès. Vous devez juste suivre les règles principales du protocole HTTP utilisé pour la communication entre le serveur et le client.
Le chargement des données dans la grille, l'édition de lignes et de tous Ajax communication avec le serveur sont mises en œuvre à l'égard du protocole HTTP. Chaque réponse HTTP est le code de statut dans la première ligne de la réponse. Il est très important de comprendre la signification de cette.
Typique de succès de la demande avec les données JSON ressemble comme suit
Si l'URL que vous essayez de charger existe pas, par exemple, la première ligne de la réponse du serveur sera
et jqGrid basé sur le code de statut HTTP (404 dans le cas) *ne pas essayer d'interpréter la réponse du serveur que les données qui contient des données avec le contenu de la grille.
La démo a le code suivant
qui affiche le message d'alerte suivant:
D'ailleurs, dans le
jqXHR.responseText
vous trouverez le corps de la réponse du serveur en tant que chaîne de caractères. La prochaine alerte montre la réponse.Avec toutes les informations ci-dessus que je voulais vous montrer que les réponses d'erreur et les bonnes réponses seront traitées d'une autre manière par l'ensemble de la pile de logiciels que vous utilisez (jqGrid, jQuery,
XMLHttpRequest
objet, ...). Donc, vous devriez utiliser d'erreur les codes d'état HTTP dans les réponses du serveur si l'erreur est détectée. Dans la réponse par exemple, vous allez voir comment faire dans le cas de l'utilisation ASP.NET MVC.Ici vous pouvez trouver une autre version de la
loadError
de mise en œuvre qui attendent à l'entrée dans le JSON forme:{"Source":"some error source",Message:"Description of the error"}
, et la sortie d'erreur sera comme icimais le code peut afficher en outre HTML généré par votre serveur web:
Vous pouvez facilement modifier le code de votre but. Le code que vous pouvez trouver ci-dessous
où la
decodeErrorMessage
fonction définie commeMise à JOUR: Gratuit jqGrid contient défaut de mise en œuvre de
loadError
(voir ici et ici), qui génère relativement lisible message d'erreur dans le cas de la plupart des erreurs Ajax. Il affiche le texte qui en résulte dans l'erreur div, existant au-dessus du corps de la grille. Ainsi, il est recommandé de tester, si le comportement par défaut de produire de bons résultats avant l'utilisation de la coutumeloadError
. Si vous avez vraiment besoin pour créer votre propreloadError
ensuite, vous pouvez placer le message d'erreur dans l'erreur à l'aide de divdisplayErrorMessage
méthode de la libre jqGrid:$("#grid").jqGrid("displayErrorMessage", customErrorMessage);
OriginalL'auteur Oleg
Je cherchais un problème similaire il y a quelques temps et heurtée cette réponse.
Lire Oleg réponse. Il est le jqgrid homme 😉
OriginalL'auteur LeftyX