【问题标题】:.NET Ajax Call gives 401.NET Ajax 调用给出 401
【发布时间】:2014-10-14 15:41:27
【问题描述】:

我有这个 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;
}

提前致谢。

【问题讨论】:

  • 你试过GET而不是POST吗?
  • 您在服务中使用什么身份验证类型?
  • @TasosK。如果我使用 GET 我必须改变一些东西吗?
  • 在这种情况下,我会尝试将变量放在查询字符串中。但我想问一下,当你可以调用PageMethods.BuscaHorarios(codigoEmitente, dataFinal, function(data) { /* success */ }, function() { /* error*/ }); 时,你为什么要使用 jQuery
  • 我把它作为答案发布了,很高兴我能帮上忙!

标签: jquery asp.net .net ajax


【解决方案1】:

您可以在不使用 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 配合得非常好。

【讨论】:

    猜你喜欢
    • 2020-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 2015-06-12
    • 1970-01-01
    • 2021-02-07
    相关资源
    最近更新 更多