大家好,我在用户单击登录时编写了以下代码
function login() {
var Emp = {};
var username = $("#username").val();
var password = $("#password").val();
Emp.userID = username;
Emp.ppassword = password;
$.ajax({
type: "GET",
url:"<%=Page.ResolveUrl("/api/Login/")%>",
contentType: "application/json;charset=utf-8",
data: JSON.stringify(Emp),
dataType: "json",
success: function (response) {
alert('Inserted');
},
error: function (x, e) {
alert(x.responseText);
}
});
}
我的控制器的结构如下
这是我的webapiconfig代码
public static void Register(HttpConfiguration config)
{
// Web API configuration and services
// Web API routes
config.MapHttpAttributeRoutes();
config.Routes.MapHttpRoute(
name: "DefaultApi",
routeTemplate: "api/{controller}/{id}",
defaults: new { id = RouteParameter.Optional }
);
}
控制器代码
public class LoginController : ApiController
{
string strcon = ConfigurationManager.ConnectionStrings["dbConnection"].ConnectionString;
SqlConnection con = null;
SqlCommand cmd = null;
private bool CheckLogin(string userID, string password)
{
bool bFlag = false;
con = new SqlConnection(strcon);
con.Open();
cmd = new SqlCommand("uspGetUserDetails", con);
cmd.CommandType = CommandType.StoredProcedure;
SqlParameter parm = new SqlParameter("@return", SqlDbType.Int);
parm.Direction = ParameterDirection.ReturnValue;
cmd.Parameters.Add(parm);
cmd.Parameters.Add(new SqlParameter("@UserName", userID));
cmd.Parameters.Add(new SqlParameter("@password", password));
cmd.ExecuteNonQuery();
con.Close();
int id = Convert.ToInt32(parm.Value);
return bFlag;
}
}
但是在单击登录时,我得到了一个错误,No HTTP resource was found that matches the request
因此有人可以帮助我哪里出错了
您发送的数据应与操作方法参数名称匹配。因此,如果不是拼写错误,请一开始将其重命名Emp.ppassword = password
为->Emp.password = password
并带有单个“ p”。
另外,如果您希望您的操作方法对Internet可见,请将其公开
public bool CheckLogin(string userID, string password)
{
// ...
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句