首頁  >  文章  >  後端開發  >  ASP.NET中JQuery+AJAX呼叫後台

ASP.NET中JQuery+AJAX呼叫後台

高洛峰
高洛峰原創
2016-12-16 16:19:411929瀏覽

做訂餐系統手機端時,遇到一個問題,實現登入功能時,我要呼叫後台的方法來驗證和判斷。我們應用的是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("用户名或密码错误!");            
          }
        }
      });
  
    }

   

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

      2、後台方法中

          第一,在後台的方法必須是靜態的;

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

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

[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;
    }

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

更多ASP.NET中JQuery+AJAX呼叫後台相關文章請關注PHP中文網!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn