.NET Ajax Call给出了401

时间:2014-10-14 15:41:27

标签: jquery asp.net .net ajax

我有这个WebMethod从Web服务返回一些计划时间,我用Jquery Ajax调用它但是它给了我401(未授权)

responseText: "{"Message":"Failed to Authenticate","StackTrace":null,"ExceptionType":"System.InvalidOperationException"}"

我已经尝试了几乎所有的东西和谷歌,但我无法找到我的问题。

这是我的Jquery:

$.ajax({
    type: "POST",
    url: CaminhoSite() + 'QueroDesconto.aspx/BuscaHorarios',
    data: JSON.stringify({ pUnidadeCE: codigoEmitente, data: dataFinal }),
    contentType: "application/json; charset=utf-8",
    dataType: "json",
    success: function (msg)
    {
        if( msg.d != "")
        {
            var horarios = $.parseJSON( msg.d );
            montaHorariosAgenda(horarios);
        }
        else
        {
            montaHorariosAgenda("");
        }
        },
        error: function (e)
        {
            console.log(e);
        }
    });

这是我的方法:

[WebMethod]
public static string BuscaHorarios(int pUnidadeCE, string data)
{
    var objAgendamento = new Agendamento { UnidadeCE = pUnidadeCE };

    if (!objAgendamento.BuscarHorariosAgendamento(objAgendamento, data)) return "";

    var objJson = new JavaScriptSerializer().Serialize(objAgendamento.lstHorarios);

    return objJson;
}

提前致谢。

1 个答案:

答案 0 :(得分:2)

您可以在不使用jQuery的情况下调用此方法并坚持使用ASP.NET提供的方式。

function success(data) {
    // handle data accordingly
}    

function error() {
    // an exception occurred when the method executed
}    

PageMethods.BuscaHorarios(codigoEmitente, dataFinal, success, error);

Here是我前面写过的一篇相关文章,描述了如何在ASP.NET中使用PageMethods和WebMethods。

另外,您可以查看MVC和Web窗体中提供的Web API。 Web API与jQuery非常兼容。