gpt4 book ai didi

jquery - 使用 AspNet.FriendlyUrls 和 AspNet.Identity 从 jquery.ajx 调用 webmethod 期间身份验证失败

转载 作者:行者123 更新时间:2023-12-03 21:55:41 29 4
gpt4 key购买 nike

如果我使用安装的 Nuget 包 Microsoft.AspNet.FriendlyUrls v 1.0.2 和 Microsoft.AspNet.Identity v.1.0.0. 从 jQuery.Ajax 调用 webmethod,那么我会得到数据对象,但没有 data.d 但带有属性消息“身份验证失败”。

我的 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>

我在 WebMethod.aspx.cs 中的 Webmethod 是:

[System.Web.Services.WebMethod]
public static string HelloWorld(string username)
{
return string.Format("Hello, {0}", username);
}

在 Global.asax.cs 中路由已激活

void Application_Start(object sender, EventArgs e)
{
RouteConfig.RegisterRoutes(RouteTable.Routes);
}

在 App_Start 中注册了路由

public static class RouteConfig
{
public static void RegisterRoutes(RouteCollection routes)
{
var settings = new FriendlyUrlSettings();
settings.AutoRedirectMode = RedirectMode.Permanent;
routes.EnableFriendlyUrls(settings);
}
}

最佳答案

在您的 App_Start 文件夹中,在您的 RouteConfig 中...

注释掉以下行或更改其 RedirectMode:

//settings.AutoRedirectMode = RedirectMode.Permanent;

关于jquery - 使用 AspNet.FriendlyUrls 和 AspNet.Identity 从 jquery.ajx 调用 webmethod 期间身份验证失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20032240/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com