ASP.NET中JQuery+AJAX調用後台

來源:互聯網
上載者:User
做訂餐系統手機端時,遇到一個問題,實現登入功能時,我要調用背景方法進行驗證和判斷。我們應用的是webForm進行開發的,正常情況下只要綁定按鈕的方法,前後台對應就可以實現。但是,手機端應用MUI樣式之後,就不適用於這種情況了。基於這個問題,我們使用JQuery+Ajax技術,其實MUI中也內建ajax技術。

實現過程:

webForm代碼:

function login() {            var name = document.getElementById("username").value; //擷取使用者名稱      var password = document.getElementById("userpassword").value; //擷取密碼      var params = '{name:"' + name + '",password:"' + password + '"}'; //將使用者名稱和密碼作為參數傳過去      $.ajax({        url: "LoginMobile.aspx/test", //調用後台方法        data: params,        type: "post",        dataType: 'text',        contentType: "application/json; charset=utf-8", //設定類型,注意一定不能丟        success: function (data) {                    if (data == '{"d":true}') { //注意判斷條件            window.location = "../Order/OrderMobile.aspx";          } else {                        mui.toast("使用者名稱或密碼錯誤!");                      }        }      });      }

後台代碼:

[WebMethod]    public static bool test(string name,string password) {      //執行個體化登入商務邏輯類      CardBll cardBll = new CardBll();      userBll user = new userBll();      Page page = (Page)System.Web.HttpContext.Current.Handler;      bool Flag = false;        //一般使用者      if (name.Length > 5)      {        Flag = cardBll.isExist(name, password);        if (Flag == true)        {          System.Web.HttpContext.Current.Session["Admin"] = name;          //Session["Admin"] = name;          //Session["Username"] = cardBll.username(TxtName .Text .Trim (),TxtPassword.Text .Trim ());          System.Web.HttpContext.Current.Session["Username"] = cardBll.username(name);          System.Web.HttpContext.Current.Session["cardLevel"] = cardBll.cardLevel(name);          if (System.Web.HttpContext.Current.Session["cardLevel"].ToString() == "普通使用者")          {           Flag = true;          }        }                      }      return Flag;    }

特別注意:

1、在webForm頁面試用Ajax技術調用後台方法時,一定要加上contentType: "application/json; charset=utf-8"。否則,就無法調用後台方法。type類型為“Post”。

2、後台方法中

第一,背景方法必須是靜態;

第二,方法聲明要加上特性[System.Web.Services.WebMethod()];

第三,傳遞的參數個數也應該和方法的參數相同。

當然,也可以使用mui中自由的ajax技術,其使用方法跟平常的ajax沒有多大的區別,只是書寫的形式有點不一樣,使用MUI實現的介面形式如下:

mui.ajax('LoginMobile.aspx/test', {        data: params,        dataType: 'text',        type: 'post',        contentType: "application/json; charset=utf-8",        success: function (data) {                     if (data == '{"d":true}') {            window.location = "../Order/OrderMobile.aspx";          } else {                        mui.toast("使用者名稱或密碼錯誤!");                      }        }      })

ajax技術對於前後台之間的互動也是一種不錯的方式,靈活運用會給我們帶來巨大的協助。當然也要根據不同的環境進行不同的設定與使用。


相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.