簡體   English   中英

Web API控制器調用問題

[英]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 = passwordEmp.ppassword = password重命名為-> Emp.password = password並以單個“ p” Emp.password = password

另外,如果您希望您的操作方法對互聯網可見,請將其公開

public bool CheckLogin(string userID, string password)
{
    // ...
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM