我尝试使用main.js
文件中的以下代码制作简单的Ajax请求:
$.ajax({
type: "POST",
url: "SaveStyles.aspx/GetDate",
data: { someParameter: "some value" },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
console.log(msg);
}
});
在SaveStyles.aspx.cs
的C#中我有方法:
[WebMethod]
public static string GetDate(string someParameter)
{
return "Sup!";
}
但是在JS控制台中,我发现错误表明身份验证失败了System.InvalidOperationException
。我不知道它为什么会发生。 Mabye我应该添加类似anti-csrf
令牌的内容吗?
答案 0 :(得分:1)
通过在App_Start / RouteConfig.cs中将AutoDirectMode设置为Off来解决
settings.AutoRedirectMode = RedirectMode.Off;
并将ScriptManager添加到将EnablePageMethods设置为“true”的aspx页面:
<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True">
</asp:ScriptManager>