Maison > développement back-end > C++ > Pourquoi est-ce que j'obtiens une erreur « 401 (non autorisé) » lors de l'appel d'une WebMethod ASP.NET avec jQuery AJAX ?

Pourquoi est-ce que j'obtiens une erreur « 401 (non autorisé) » lors de l'appel d'une WebMethod ASP.NET avec jQuery AJAX ?

Mary-Kate Olsen
Libérer: 2025-01-03 06:50:46
original
696 Les gens l'ont consulté

Why Am I Getting a

ASP.NET a rencontré "401 (Non autorisé)" lors de l'appel de WebMethod avec jQuery AJAX

Rencontré lors de l'appel de WebMethod dans le formulaire Web ASP.NET " 401 (Non autorisé)", il s'agit d'un problème courant. Cet article explorera les causes potentielles de ce problème et proposera des solutions.

Solution

La solution donnée dans la question d'origine est de modifier le fichier ~/App_Start/RouteConfig.cs et de remplacer les lignes suivantes

settings.AutoRedirectMode = RedirectMode.Permanent;
Copier après la connexion

Remplacez par

settings.AutoRedirectMode = RedirectMode.Off;
Copier après la connexion

ou commentez cette ligne. Si les URL conviviales sont activées, vous devez également modifier la ligne suivante

url: "ConsultaPedidos.aspx/GetClients",
Copier après la connexion

par

url: '<%= ResolveUrl("ConsultaPedidos.aspx/GetClients") %>',
Copier après la connexion

Analyse

"401 (Unauthorized )" L'erreur indique que le serveur ne peut pas authentifier la demande du client. Dans ASP.NET, les pages WebForms utilisent l'authentification par formulaires par défaut, redirigeant automatiquement vers la page de connexion lorsque l'utilisateur n'est pas authentifié.

Le paramètre settings.AutoRedirectMode dans le fichier ~/App_Start/RouteConfig.cs spécifie comment les redirections sont gérées lorsque l'URL demandée n'existe pas. La valeur par défaut est RedirectMode.Permanent, ce qui signifie que la redirection vers la page de connexion sera permanente et que l'URL d'origine ne sera pas accessible même si le client est authentifié. Modifiez ce paramètre en RedirectMode.Off ou commentez cette ligne pour désactiver la redirection automatique.

De plus, si les URL conviviales sont activées, les requêtes jQuery AJAX utiliseront des URL relatives au client (par exemple "ConsultaPedidos.aspx/GetClients"). Cela empêche le serveur d'analyser la demande et renvoie une erreur « 401 (non autorisé) ». La conversion d'URL relatives en URL absolues à l'aide de la méthode ResolveUrl peut résoudre ce problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal