L'authentification a échoué lors de l'appel webmethod de jquery.ajx avec le Réseau.FriendlyUrls et AspNet.Identité
Si je l'appelle webmethod de jQuery.Ajax avec installé les packages Nuget Microsoft.AspNet.FriendlyUrls v 1.0.2 et Microsoft.AspNet.L'identité v. 1.0.0., puis-je obtenir les données de l'objet, mais sans données.d mais avec de la propriété Message "echec de l'Authentification'.
Mon Webmethod.aspx:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>WebMethod</title>
<script src="Scripts/jquery-2.0.3.js"></script>
</head>
<body>
<form id="form1" runat="server">
<h3>Test Webmethod</h3>
<div id="greeitng"></div>
<div id="innerError" style="border:1px dotted red;display:none;" title="errorMessage"></div>
<script type="text/javascript">
function asyncServerCall(username) {
jQuery.ajax({
url: 'WebMethod.aspx/HelloWorld',
type: "POST",
data: "{'username':'" + username + "'}",
//async: false,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
if (data.d == undefined)
document.getElementById("greeitng").innerHTML = data.Message;
else
document.getElementById("greeitng").innerHTML = data.d;
},
error: function (err) {
if (err.responseText) {
$('#innerError').html(err.responseText).show();
}
else {
alert(err);
}
}
});
}
$(document).ready(function () {
$('#innerError').hide();
asyncServerCall("Superuser");
});
</script>
</form>
</body>
</html>
Mon Webmethod dans WebMethod.aspx.cs:
[System.Web.Services.WebMethod]
public static string HelloWorld(string username)
{
return string.Format("Hello, {0}", username);
}
Mondiale.asax.cs est de Routage activé
void Application_Start(object sender, EventArgs e)
{
RouteConfig.RegisterRoutes(RouteTable.Routes);
}
Dans App_Start ont regitred les routes
public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
}
}
OriginalL'auteur user3001838 | 2013-11-17
Vous devez vous connecter pour publier un commentaire.
Dans votre App_Start dossier, au sein de votre RouteConfig....
Commentez la ligne suivante ou de modifier son option redirectmode:
OriginalL'auteur Sam
Il n'est pas exactement le même cas d'utilisation, mais vaut la peine de mentionner si vous êtes en utilisant un web service, et la "" echec de l'Authentification de message.
Veuillez vérifier que votre service web a l'attribut "[Système.Web.Script.Services.ScriptService]". Cela permet au service web appelé à partir d'un script.
Exemple:
OriginalL'auteur omufeed