为什么对webmethod的ajax调用会从后面的代码中返回401?

时间:2018-06-30 19:19:15

标签: c# asp.net ajax webforms

ajax

function verify() {
$.ajax({
    type: "POST",
    url: "Register.aspx/verifyImage",
    data: '{text: "' + $("#<%=TextBox4.ClientID%>")[0].value + '" }',
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function(response) {
        alert(response.d)
    },
    failure: function(response) {
        alert(response.d);
    }
});
}

C#网络方法

[WebMethod]
    public void verifyImage(string text)
    {
        string imageString = Session["imageString"].ToString();
        if (imageString.Equals(text))
        {
            Response.Write("<script>alert('Memeber Page');</script>");
        }
        else
        {
            Response.Write("<script>alert('Incorrect');</script>");
        }
    }

页面控件

<div style="height: 50px">
    <asp:Image ID="Image1" runat="server" />
    <asp:TextBox ID="TextBox4" runat="server"></asp:TextBox>
    <input id="Button1" type="button" value="Submit" onclick="verify()"/>
</div>

调试输出

"name":"POST /Register.aspx/verifyImage","duration":"00:00:00.0161020","success":true,"responseCode":"401","url":"http://localhost:54506/Register.aspx/verifyImage","properties":{"DeveloperMode":"true","_MS.ProcessedByMetricExtractors":"(Name:'Requests', Ver:'1.0')

我是ajax的新手,正在构建图像验证程序页面。我想使用ajax将图像文本与asp文本框文本进行比较,以使用后面的代码将文本框文本发送到web方法。在输出中,ajax调用写入成功:true,但返回401(未授权)代码。我究竟做错了什么?在这一点上,我只是想使工作正常进行,以后再填充web方法。

0 个答案:

没有答案