>백엔드 개발 >C#.Net 튜토리얼 >ASP.NET에서 JQuery+AJAX 호출 배경

ASP.NET에서 JQuery+AJAX 호출 배경

高洛峰
高洛峰원래의
2016-12-16 16:19:411979검색

모바일 버전의 음식 주문 시스템을 작업할 때 로그인 기능을 구현할 때 확인 및 판단을 위해 백그라운드 메소드를 호출해야 하는 문제가 발생했습니다. 우리는 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. Ajax 기술을 사용하여 webForm 페이지에서 백그라운드 메소드를 호출할 때 contentType: "application/json; charset=을 추가해야 합니다. utf-8". 그렇지 않으면 백그라운드 메서드를 호출할 수 없습니다. 유형은 "게시물"입니다.

2. 백그라운드 메소드에서

먼저, 백그라운드 메소드는 static이어야 합니다.

둘째, 메소드 선언에는 [System.Web.Services] 속성이 추가되어야 합니다. . WebMethod()];

셋째, 전달되는 매개변수의 개수도 메소드의 매개변수와 동일해야 합니다.

물론 mui에서도 무료 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 기술은 프론트엔드와 백엔드 간의 상호작용을 위한 좋은 방법이기도 하며, 이를 유연하게 사용하면 큰 도움이 될 것입니다. 물론 다양한 환경에 따라 다양한 설정과 활용이 이루어져야 합니다.


ASP.NET에서 JQuery+AJAX 호출 배경과 관련된 더 많은 기사를 보려면 PHP 중국어 웹사이트를 주목하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.