jQuery ajax调用webservice注意事项

前端之家收集整理的这篇文章主要介绍了jQuery ajax调用webservice注意事项前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

jquery ajax调用webservice(C#)要注意的几个事项:

1、web.config里需要配置2个地方

之间加入

2.正确地编写webserivce的代码

/// UserValidate 的摘要说明 /// [WebService(Namespace = "http://tempuri.org/")] [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)] [System.ComponentModel.ToolBoxItem(false)] // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class UserValidate : System.Web.Services.WebService { DFHon.Content.Common.rootPublic rp = new DFHon.Content.Common.rootPublic(); [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string ValidateUserLogState() { string result = ""; HttpCookie cookie = HttpContext.Current.Request.Cookies["DHFonMenberInfo"]; if (cookie != null) { string username = System.Web.HttpUtility.UrlDecode(cookie["MenberName"]); int ipoint = 0; int gpoint = 0; try { DataTable dt = UserBll.ExecuteUserAllInfo(username);
      if (dt.Rows.Count > 0)
      {
        ipoint = int.Parse(dt.Rows[0]["iPoint"].ToString());
        gpoint = int.Parse(dt.Rows[0]["gPoint"].ToString());
      }
    }
    catch
    { }
    result = "{'user':{'id':'" + cookie["UserId"] + "','name':'" + username + "','message':'" + rp.getUserMsg(DFHon.Global.CurrentCookie.UserName) + "','ipoint':'" + ipoint.ToString() + "','gpoint':'" + gpoint.ToString() + "'}}";
  }
  else
  {
    result = "{'user':{'id':'0','name':'','message':'0','ipoint':'0','gpoint':'0'}}";
  }
  return result;
}

[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string UserLogin(string userName,string userPwd)
{
  string returnVal = "";
  try
  {
    GlobalUserInfo info;
    DFHon.Content.UserLogin _UserLogin = new DFHon.Content.UserLogin();
    EnumLoginState state = _UserLogin.PersonLogin(HttpUtility.UrlDecode(userName),userPwd,out info);
    if (state == EnumLoginState.Succeed)
    {
      DFHon.Global.CurrentCookie.Set(info);
      DFHon.API.PDO.DiscuzNT.PassportLogin.UserLogin(Server.UrlDecode(userName),-1);
      int ipoint = 0;
      int gpoint = 0;
      DataTable dt = UserBll.ExecuteUserAllInfo(userName);

      if (dt.Rows.Count > 0)
      {
        ipoint = int.Parse(dt.Rows[0]["iPoint"].ToString());
        gpoint = int.Parse(dt.Rows[0]["gPoint"].ToString());
      }
      returnVal = "{'user':{'id':'" + info.UserId.ToString() + "','name':'" + info.UserName + "','message':'" + rp.getUserMsg(userName) + "','gpoint':'" + gpoint.ToString() + "'}}";
    }
    else
    {
      int ids = 0;//状态:-2<a href="/tag/yonghu/" target="_blank" class="keywords">用户</a>被锁定 -1<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>密码<a href="/tag/cuowu/" target="_blank" class="keywords">错误</a>
      switch (state)
      {
        case EnumLoginState.Err_Locked:
          ids = -2;
          break;
        case EnumLoginState.Err_UserNameOrPwdError:
          ids = -1;
          break;
        default:
          break;
      }
      returnVal = "{'user':{'id':'" + ids + "','gpoint':'0'}}";
    }
  }
  catch
  {
    returnVal = "{'user':{'id':'0','gpoint':'0'}}";
  }
  return returnVal;
}
[WebMethod]
public string User<a href="/tag/logo/" target="_blank" class="keywords">logo</a>ut()
{
  if (HttpContext.Current.Request.Cookies["DHFonMenberInfo"] != null)
  {
    HttpCookie cookie = new HttpCookie("DHFonMenberInfo");
    cookie.Expires = System.DateTime.Now.AddDays(-1);
    cookie.Domain = DFHon.Config.BaseConfig.getV("weblogin");
    HttpContext.Current.Response.AppendCookie(cookie);
  }
  return "1";
}
DFHon.Content.user UserBll = new DFHon.Content.user();
[WebMethod]
public string ValidateUserEmail(string email)
{
  string result = "0";//返回的结果 -2邮箱为空 -1邮箱格式不正确 0邮箱存在 1填写正确
  if (string.IsNullOrEmpty(email))
  {
    result = "-2";//邮箱为空
  }
  else if (!IsValidEmail(email))
  {
    result = "-1";//邮箱格式不正确
  }
  else if (UserBll.sel_useremail(email) > 0)
  {
    result = "0";//邮箱存在
  }
  else
  {
    result = "1";//可以<a href="/tag/zhuce/" target="_blank" class="keywords">注册</a>
  }
  return result;
}

[WebMethod]
public string ValidateUserName(string username)
{
  string result = "0";//返回值:-1<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>长度为2-16;0<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>存在;1可以<a href="/tag/zhuce/" target="_blank" class="keywords">注册</a>
  if (username == "" || username == null || username.Length < 2 || username.Length > 16)
  {
    result = "-1";
  }
  else if (UserBll.sel_username(username) != 0)
  {
    result = "0";
  }
  else
  {
    result = "1";
  }
  return result;
}

public bool IsValidEmail(string strIn)
{ // Return true if strIn is in valid e-mail format. 
  return System.Text.RegularExpressions.Regex.IsMatch(strIn,@"^([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");
}

}

WebService

$(function() { $("#userloging").show(); //登录框处理开始 //加载登录状态 $.ajax({ type: "POST",//访问WebService使用Post方式请求 contentType: "application/json;charset=utf-8",//WebService 会返回Json类型 url: "/API/Service/UserValidate.asmx/ValidateUserLogState",//调用WebService data: "{}",//Email参数 dataType: 'json',beforeSend: function(x) { x.setRequestHeader("Content-Type","application/json; charset=utf-8"); },error: function(x,e) { },success: function(response) { //回调函数,result,返回值 $("#userloging").hide(); var json = eval('(' + response.d + ')'); var userid = json.user.id; if (userid > 0) { $("#spanusername").html(json.user.name); $("#spanmessagenum").html(json.user.message); $("#userloginsucced").show(); $("#userloginBox").hide(); } } }); //登录 $("#userlogbutton").click(function() {
    var username = $("#username").val();
    var userpwd = $("#userpassword").val();
    if (username != "" && userpwd != "") {
      $("#userloging").show();
      $.ajax({
        type: "POST",//访问WebService使用Post方式请求
        contentType: "application/json;charset=utf-8",//WebService 会返回Json类型
        url: "/API/Service/UserValidate.asmx/UserLogin",//<a href="/tag/diaoyong/" target="_blank" class="keywords">调用</a>WebService
        data: "{userName:'" + username + "',userPwd:'" + userpwd + "'}",//Email参数
        dataType: 'json',e) {
        },success: function(result) { //回调<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>,result,返回值
          $("#userloging").hide();
          var json = eval('(' + result.d + ')');
          var userid = json.user.id;
          if (userid > 0) {
            $("#spanusername").html(json.user.name);
            $("#spanmessagenum").html(json.user.message);
            $("#userloginsucced").show();
            $("#userlogin<a href="/tag/Box/" target="_blank" class="keywords">Box</a>").hide();
          }
          else {
            switch (userid) {
              case -2:
                alert("<a href="/tag/yonghu/" target="_blank" class="keywords">用户</a>被锁定!请30分钟后再<a href="/tag/denglu/" target="_blank" class="keywords">登录</a>!");
                $("#username").focus();
                break;
              case -1:
                alert("<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>或密码<a href="/tag/cuowu/" target="_blank" class="keywords">错误</a>!请核对您的<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>和密码!");
                $("#userpassword").focus();
                break;
              default:
                alert("<a href="/tag/denglu/" target="_blank" class="keywords">登录</a>失败!请核对您的<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>和密码之后重试!");
                $("#userpassword").focus();
                break;
            }
          }
        }
      });
    }
    else if (username == "") {
      alert("<a href="/tag/yonghuming/" target="_blank" class="keywords">用户名</a>不能为空!");
      $("#username").focus();
    }
    else if (userpwd == "") {
      alert("密码不能为空!");
      $("#userpassword").focus();
    }
  });
  //<a href="/tag/tuichu/" target="_blank" class="keywords">退出</a>
  $("#<a href="/tag/logo/" target="_blank" class="keywords">logo</a>ut").click(function() {
    $("#userloging").show();
    $.ajax({
      type: "POST",//访问WebService使用Post方式请求
      contentType: "application/json;utf-8",//WebService 会返回Json类型
      url: "/API/Service/UserValidate.asmx/User<a href="/tag/logo/" target="_blank" class="keywords">logo</a>ut",//<a href="/tag/diaoyong/" target="_blank" class="keywords">调用</a>WebService
      data: "{}",//Email参数
      dataType: 'json',success: function(result) { //回调<a href="/tag/hanshu/" target="_blank" class="keywords">函数</a>,result,返回值
        $("#userloging").hide();
        if (result.d > 0) {
          $("#userloginsucced").hide();
          $("#userlogin<a href="/tag/Box/" target="_blank" class="keywords">Box</a>").show();
        }
      }
    });

  }); //<a href="/tag/denglu/" target="_blank" class="keywords">登录</a>框处理结束

});
</script>

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程之家。

猜你在找的Ajax相关文章