【发布时间】:2012-03-16 09:24:50
【问题描述】:
我有一个 ASP.NET Web 窗体应用程序,在我的一个 .ASPX 页面上我有一些 javascript。
在 Javascript 的一部分中,我想调用 Web 服务,以便我可以执行服务器端函数并返回 true 或 false 值,然后在 javascript 中我可以根据 true 执行两个操作之一或假值。
我之前没有做过任何网络服务,所以我很难将一个简单的值返回给 JS。
我的 WebService (LoginCheck.asmx) 目前看起来像这样:
[System.Web.Script.Services.ScriptService]
public class LoginCheck : System.Web.Services.WebService
{
[WebMethod]
public bool IsLoggedIn()
{
return UserService.IsAuthenticated();
}
}
我的 Javascript 调用目前看起来像这样:
$.ajax({
type: "GET",
contentType: "application/json; charset=utf-8",
url: "LoginCheck.asmx/IsLoggedIn",
data: "{}",
dataType: "json",
success: function (response) {
if (response) {
alert('Logged in: true');
} else {
alert('Logged in: false');
}
}
});
尽管在“IsLoggedIn”Web 服务方法的代码中有一个断点,但它永远不会中断。当应该调用 Web 服务时,我已经检查了 Google Chrome 中的“控制台”,它显示的内容如下:
“支持以下操作...”,它显示了我的一个'IsLoggedIn'方法,但是在这个控制台窗口中呈现的所有内容本质上都是一个HTML页面,带有HTML标记。
我似乎从来没有 a) 在代码中的断点处中断或 b) 得到对我的 javascript 的响应(因此我上面的代码中显示的 js 警报都没有发生)。
【问题讨论】:
标签: jquery asp.net ajax web-services asmx