2017-03-26 197 views
0

我試圖與下面的代碼簡單的Ajax請求main.js文件:驗證失敗 - System.InvalidOperationException

$.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); 
    } 
}); 

在C#中SaveStyles.aspx.cs我有方法:

[WebMethod] 
public static string GetDate(string someParameter) 
{ 
    return "Sup!"; 
} 

但在JS控制檯我看到錯誤,說System.InvalidOperationException身份驗證失敗。我不知道爲什麼會發生。 Mabye我應該添加一些像anti-csrf令牌?

回答

0

在App_Start設置AutoDirectMode爲關解決/ RouteConfig.cs

settings.AutoRedirectMode = RedirectMode.Off; 

,並添加一個ScriptManager到具有設置爲 '真' 的的EnablePageMethods aspx頁面:

<asp:ScriptManager ID="ScriptManager1" runat="server" EnablePageMethods="True"> 
    </asp:ScriptManager>