gpt4 book ai didi

c# - 使用 C#、Ajax、Jquery 的 Web 服务不适用于 ASP.Net

转载 作者:行者123 更新时间:2023-11-30 18:09:03 25 4
gpt4 key购买 nike

我创建了一个 WebService在 C# 中。在其中我有一个方法:
我创建了一个 AndroidWebservices.asmx和一个 Default.aspx每个页面都使用相同的方法

[System.Web.Services.WebMethod]
public bool CheckLogin(string email, string password)
{
//Get the User Information
DB.User cur_user = DB.User.ByEmail(email.Trim());

if (cur_user.CheckPassword(password)) {
return true;
} else {
return false;
}
}

对于我放入的Default.asxp页面
<asp:ScriptManager ID="ScriptManager1" EnablePageMethods="true" EnablePartialRendering="true" runat="server"></asp:ScriptManager>

对于 AndroidWebService.asmx,我取消了注释
[System.Web.Script.Services.ScriptService]


此服务正在运行 http://localhost:49524/还有我公司的 .com 域名

我在 tomcat 服务器上创建了一个新目录:

http://  localhost:8080/

这个的代码是一个简单的表格

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta name="viewport" content="user-scalable=no, width=device-width" />
<link rel="stylesheet" type="text/css" href="css/iphone.css">
<link rel="stylesheet"
href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<script src="http://code.jquery.com/jquery-1.8.3.js"></script>
<script src="http://code.jquery.com/ui/1.9.2/jquery-ui.js"></script>
<script src="js/iphone.js"></script>
<title></title>
</head>
<body>
<div id="container">
<div id="header">
<h1><a></a></h1>
<div class="loginContainer">
<table cellpadding="0" cellspacing="0" width="100%">
<tr>
<td valign="top" style="width:100px">
<div class="rounded-end">email</div>
</td>
<td valign="top">
<input type="text" id="email" class="login" />
</td>
</tr>
<tr>
<td valign="top" style="width:100px">
<div class="rounded-end">password</div>
</td>
<td valign="top">
<input type="password" id="password"
class="login" />
</td>
</tr>
</table>
<input type="button" class="loginButton" value="login"
onclick="loginCheck(); return false;"/>
</div>
</div>
</div>
</body>
</html>

和 Javascript:

function loginCheck() {

var u = $('#email').val();
var p = $('#password').val();

$.ajax({
type: "POST",
url: "http://localhost:49524/mobile/Android/Default.aspx/CheckLogin",
data: JSON.stringify({email: u, password: p}),
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (msg) {
alert(msg);
}
});
}

我尝试过的事情:

dataType: "json"

什么都不返回。

dataType: "jsonp"

返回页面..即

"<!doctype><html> ...... "

每当我运行 Default.aspx作为我的 url,该函数返回页面的 html/文本,我可以将代码加上 + querystring 放在 URL 中,然后我取回页面..但没有数据它似乎并没有调用该方法,而只是返回页面..如上所述..我所追求的是返回 true 或 false 以确保用户登录以继续到下一页。

我非常感谢人们发表评论,我不得不回到办公室才能再次处理它。一旦我得到一个有效的答案,我就会标记一个接受的答案。

最佳答案

我认为那是因为您将您的方法标记为 protected 。将其标记为公开,然后重试。

所以

protected bool CheckLogin(string email, string password)

成为

public bool CheckLogin(string email, string password)

关于c# - 使用 C#、Ajax、Jquery 的 Web 服务不适用于 ASP.Net,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15077063/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com