我有这个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;
}
提前致谢。
答案 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非常兼容。