【发布时间】:2013-09-13 19:38:15
【问题描述】:
我正在尝试从用户控件调用 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 Unauthorized with message:
{"Message":"处理请求时出错。","StackTrace":"","ExceptionType":""}
【问题讨论】:
-
能否给出 OnFail 函数的代码?
-
现在它什么也没做,但我把它放在了问题中
-
您使用的是 2010 或 2013 的哪个版本的 SharePoint? 2010 没有可用的
webAbsoluteUrl属性。尝试删除_spPageContextInfo.webAbsoluteUrl并仅使用相对布局 url。 -
我正在使用 Sharepoint 2013
标签: javascript asp.net web-services sharepoint