[英]web api controller calling issues
大家好,我在用戶單擊登錄時編寫了以下代碼
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.ppassword = password
重命名為-> Emp.password = password
並以單個“ p” Emp.password = password
。
另外,如果您希望您的操作方法對互聯網可見,請將其公開
public bool CheckLogin(string userID, string password)
{
// ...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.