我正在尝试从用户控件调用web服务。
以下是web服务的代码:
[System.Web.Script.Services.ScriptService]
public class WizardService:System.Web.Services.WebService
{
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetNumber()
{
return "000000000000";
}
}
下面是javascript:
$('#' + '<%= btnMoveNext.ClientID %>').click(function () {
var requestUri = _spPageContextInfo.webAbsoluteUrl + "/_layouts/15/Project/Services/WizardService.asmx";
$.ajax({
type: "POST",
data: "{}",
url: requestUri + "/GetNumber",
contentType: "application/json",
success: OnSuccess,
error: OnFail
});
})
当这段代码执行时,它总是放在函数OnFail中。未显示任何错误。
如果这有帮助:
如果我试图在调用服务时更具体(如果我添加了- async: false
或dataType: "json"
),我会得到一个内部服务器错误。否则没有错误,但我试图调试它,但它没有进入web服务。
function OnFail() {
alert("Failed");
}
当我查看Fiddler中的请求时,我得到了一条401未授权的消息:
{“Message”:“处理请求时出错。”,"StackTrace":"","ExceptionType":""}
发布于 2013-09-10 08:22:10
401错误表示URL资源需要用户身份验证。并且存在以下两种情况之一。
尚未提供
如果您不知道HTTP资源要求身份验证的原因,最好的方法是与管理员联系,并与他们展开对话。
https://stackoverflow.com/questions/18713076
复制相似问题