使用webservice的asp.net c#登录表单中的Jquery验证
本文关键字:表单 Jquery 登录 验证 webservice asp net 使用 | 更新日期: 2023-09-27 18:17:36
你好,我已经在asp.net中创建了一个登录表单来重定向另一个页面,我已经为用户验证和jquery创建了一个webservice,但ajax数据返回未定义的页面不重定向,请帮助我…我的代码是这样的
Webservice
[WebMethod]
public static string LoginSer(string un,string pwd)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("select Username,Password from emp_Login where IsActive=1 and Username='" + un + "' and Password='" + pwd + "'", con))
{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
return "1";
}
else
{
return "0";
}
}
}
}
Jquery $(document).ready(function () {
$("#btnLogin").click(function () {
var uid = $("#txtUN").attr('value');
var pass = $("#txtPWD").attr('value');
$.ajax({
type: "POST",
url: "Login.aspx/LoginSer",
data: '{un: ' + uid + ', pwd: ' + pass + '}',
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
if (data.d == "1")
{
window.location.assign("../../Home.aspx");
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
//alert(XMLHttpRequest.responseText);
var err = eval("(" + XMLHttpRequest.responseText + ")");
alert(err.Message);
}
});
});
});
我认为你在ajax调用URL是不正确的。您需要提供您的服务名称,例如Login。
我也不确定你传递数据的方式,但它可能是正确的。
.
这些都是你犯的错误
- 参数名称不匹配
- 作为数据传递
- POST方法的data格式中引号不匹配
Web api方法包含un &pwd作为参数,这意味着您应该使用查询字符串请求此调用,如
?联合国= Name& pwd =通过
接下来,你调用服务并发送一个data,它将查找一个包含与输入数据相同属性的对象。
一个解公共类登录{公共字符串UN {get;设置;}公共字符串PWD {get;设置;}}
[WebMethod]
public static string LoginSer(Login user)
{
using (SqlConnection con = new SqlConnection(constr))
{
using (SqlCommand cmd = new SqlCommand("select Username,Password from emp_Login where IsActive=1 and Username='" + user.un + "' and Password='" + user.pwd + "'", con))
{
con.Open();
cmd.ExecuteNonQuery();
con.Close();
SqlDataAdapter da = new SqlDataAdapter(cmd);
DataTable dt = new DataTable();
da.Fill(dt);
if (dt.Rows.Count > 0)
{
return "1";
}
else
{
return "0";
}
}
}
}
$(document).ready(function () {
$("#btnLogin").click(function () {
var uid = $("#txtUN").attr('value');
var pass = $("#txtPWD").attr('value');
var userdata = {
"un": uid,
"pwd": pass
};
$.ajax({
type: "POST",
url: "Login.aspx/LoginSer",
data: userdata,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (data) {
if (data.d == "1")
{
window.location.assign("../../Home.aspx");
}
},
error: function (XMLHttpRequest, textStatus, errorThrown) {
//alert(XMLHttpRequest.responseText);
var err = eval("(" + XMLHttpRequest.responseText + ")");
alert(err.Message);
}
});
});
});
另一个解决方案是通过使用
将值传递给querystring来简单修复。window.href
通过删除contentType: "application/json;charset = utf - 8",
i have got it…
成功运行…