精华内容
下载资源
问答
  • Ajax 调用WebService

    2012-01-08 12:31:43
    Ajax 调用WebService
  • jquery ajax调用webservice(C#)要注意的几个事项:1、web.config里需要配置2个地方在之间加入2.正确地编写webserivce的代码/// /// UserValidate 的摘要说明/// [WebService(Namespace = "http://tempuri.org/")]...

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

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

    在之间加入

    2.正确地编写webserivce的代码

    a5d9b782dff3df23107d467828e0ab23.gif

    6b9d32a98c9142b82387b708d73cf9bf.gif

    ///

    /// 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), userPwd, -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) + "','ipoint':'" + ipoint.ToString() + "','gpoint':'" + gpoint.ToString() + "'}}";

    }

    else

    {

    int ids = 0;//状态:-2用户被锁定 -1用户名密码错误

    switch (state)

    {

    case EnumLoginState.Err_Locked:

    ids = -2;

    break;

    case EnumLoginState.Err_UserNameOrPwdError:

    ids = -1;

    break;

    default:

    break;

    }

    returnVal = "{'user':{'id':'" + ids + "','name':'','message':'0','ipoint':'0','gpoint':'0'}}";

    }

    }

    catch

    {

    returnVal = "{'user':{'id':'0','name':'','message':'0','ipoint':'0','gpoint':'0'}}";

    }

    return returnVal;

    }

    [WebMethod]

    public string UserLogout()

    {

    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";//可以注册

    }

    return result;

    }

    [WebMethod]

    public string ValidateUserName(string username)

    {

    string result = "0";//返回值:-1用户名长度为2-16;0用户名存在;1可以注册

    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}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?)$");

    }

    }

    WebService

    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", //调用WebService

    data: "{userName:'" + username + "',userPwd:'" + userpwd + "'}", //Email参数

    dataType: 'json',

    beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },

    error: function(x, e) {

    },

    success: function(result) { //回调函数,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();

    $("#userloginbox").hide();

    }

    else {

    switch (userid) {

    case -2:

    alert("用户被锁定!请30分钟后再登录!");

    $("#username").focus();

    break;

    case -1:

    alert("用户名或密码错误!请核对您的用户名和密码!");

    $("#userpassword").focus();

    break;

    default:

    alert("登录失败!请核对您的用户名和密码之后重试!");

    $("#userpassword").focus();

    break;

    }

    }

    }

    });

    }

    else if (username == "") {

    alert("用户名不能为空!");

    $("#username").focus();

    }

    else if (userpwd == "") {

    alert("密码不能为空!");

    $("#userpassword").focus();

    }

    });

    //退出

    $("#logout").click(function() {

    $("#userloging").show();

    $.ajax({

    type: "POST", //访问WebService使用Post方式请求

    contentType: "application/json;utf-8", //WebService 会返回Json类型

    url: "/API/Service/UserValidate.asmx/UserLogout", //调用WebService

    data: "{}", //Email参数

    dataType: 'json',

    beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },

    success: function(result) { //回调函数,result,返回值

    $("#userloging").hide();

    if (result.d > 0) {

    $("#userloginsucced").hide();

    $("#userloginbox").show();

    }

    }

    });

    }); //登录框处理结束

    });

    ajax

    展开全文
  • 本文主要为大家详细介绍了jQuery ajax调用webservice的注意事项,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能帮助到大家。jquery ajax调用webservice(C#)要注意的几个事项:1、web.config里需要配置2...

    本文主要为大家详细介绍了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), userPwd, -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) + "','ipoint':'" + ipoint.ToString() + "','gpoint':'" + gpoint.ToString() + "'}}";

    }

    else

    {

    int ids = 0;//状态:-2用户被锁定 -1用户名密码错误

    switch (state)

    {

    case EnumLoginState.Err_Locked:

    ids = -2;

    break;

    case EnumLoginState.Err_UserNameOrPwdError:

    ids = -1;

    break;

    default:

    break;

    }

    returnVal = "{'user':{'id':'" + ids + "','name':'','message':'0','ipoint':'0','gpoint':'0'}}";

    }

    }

    catch

    {

    returnVal = "{'user':{'id':'0','name':'','message':'0','ipoint':'0','gpoint':'0'}}";

    }

    return returnVal;

    }

    [WebMethod]

    public string UserLogout()

    {

    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";//可以注册

    }

    return result;

    }

    [WebMethod]

    public string ValidateUserName(string username)

    {

    string result = "0";//返回值:-1用户名长度为2-16;0用户名存在;1可以注册

    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}\.[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", //调用WebService

    data: "{userName:'" + username + "',userPwd:'" + userpwd + "'}", //Email参数

    dataType: 'json',

    beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },

    error: function(x, e) {

    },

    success: function(result) { //回调函数,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();

    $("#userloginbox").hide();

    }

    else {

    switch (userid) {

    case -2:

    alert("用户被锁定!请30分钟后再登录!");

    $("#username").focus();

    break;

    case -1:

    alert("用户名或密码错误!请核对您的用户名和密码!");

    $("#userpassword").focus();

    break;

    default:

    alert("登录失败!请核对您的用户名和密码之后重试!");

    $("#userpassword").focus();

    break;

    }

    }

    }

    });

    }

    else if (username == "") {

    alert("用户名不能为空!");

    $("#username").focus();

    }

    else if (userpwd == "") {

    alert("密码不能为空!");

    $("#userpassword").focus();

    }

    });

    //退出

    $("#logout").click(function() {

    $("#userloging").show();

    $.ajax({

    type: "POST", //访问WebService使用Post方式请求

    contentType: "application/json;utf-8", //WebService 会返回Json类型

    url: "/API/Service/UserValidate.asmx/UserLogout", //调用WebService

    data: "{}", //Email参数

    dataType: 'json',

    beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },

    success: function(result) { //回调函数,result,返回值

    $("#userloging").hide();

    if (result.d > 0) {

    $("#userloginsucced").hide();

    $("#userloginbox").show();

    }

    }

    });

    }); //登录框处理结束

    });

    相关推荐:

    展开全文
  • jquery ajax调用webservice(C#)要注意的几个事项:1、web.config里需要配置2个地方在之间加入2.正确地编写webserivce的代码/// /// UserValidate 的摘要说明/// [WebService(Namespace = "http://tempuri.org/")]...

    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), userPwd, -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) + "','ipoint':'" + ipoint.ToString() + "','gpoint':'" + gpoint.ToString() + "'}}";

    }

    else

    {

    int ids = 0;//状态:-2用户被锁定 -1用户名密码错误

    switch (state)

    {

    case EnumLoginState.Err_Locked:

    ids = -2;

    break;

    case EnumLoginState.Err_UserNameOrPwdError:

    ids = -1;

    break;

    default:

    break;

    }

    returnVal = "{'user':{'id':'" + ids + "','name':'','message':'0','ipoint':'0','gpoint':'0'}}";

    }

    }

    catch

    {

    returnVal = "{'user':{'id':'0','name':'','message':'0','ipoint':'0','gpoint':'0'}}";

    }

    return returnVal;

    }

    [WebMethod]

    public string UserLogout()

    {

    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";//可以注册

    }

    return result;

    }

    [WebMethod]

    public string ValidateUserName(string username)

    {

    string result = "0";//返回值:-1用户名长度为2-16;0用户名存在;1可以注册

    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}\.[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", //调用WebService

    data: "{userName:'" + username + "',userPwd:'" + userpwd + "'}", //Email参数

    dataType: 'json',

    beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },

    error: function(x, e) {

    },

    success: function(result) { //回调函数,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();

    $("#userloginbox").hide();

    }

    else {

    switch (userid) {

    case -2:

    alert("用户被锁定!请30分钟后再登录!");

    $("#username").focus();

    break;

    case -1:

    alert("用户名或密码错误!请核对您的用户名和密码!");

    $("#userpassword").focus();

    break;

    default:

    alert("登录失败!请核对您的用户名和密码之后重试!");

    $("#userpassword").focus();

    break;

    }

    }

    }

    });

    }

    else if (username == "") {

    alert("用户名不能为空!");

    $("#username").focus();

    }

    else if (userpwd == "") {

    alert("密码不能为空!");

    $("#userpassword").focus();

    }

    });

    //退出

    $("#logout").click(function() {

    $("#userloging").show();

    $.ajax({

    type: "POST", //访问WebService使用Post方式请求

    contentType: "application/json;utf-8", //WebService 会返回Json类型

    url: "/API/Service/UserValidate.asmx/UserLogout", //调用WebService

    data: "{}", //Email参数

    dataType: 'json',

    beforeSend: function(x) { x.setRequestHeader("Content-Type", "application/json; charset=utf-8"); },

    success: function(result) { //回调函数,result,返回值

    $("#userloging").hide();

    if (result.d > 0) {

    $("#userloginsucced").hide();

    $("#userloginbox").show();

    }

    }

    });

    }); //登录框处理结束

    });

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

    展开全文
  • Ajax调用WebService

    2016-02-05 17:00:10
    在同域下Ajax调用WebService方法。(记得是同域,也就是要调用的WebService页面与Ajax请求页面在同一个网站下)。 具体操作如下: 一、用VS新建Web站点。 二、站点下放入Jquery框架 三、在网站中添加“web服务”...

    WebService跟Ajax(我指Jquery框架),大家都不陌生。今天来看一个例子。在同域下Ajax调用WebService方法。(记得是同域,也就是要调用的WebService页面与Ajax请求页面在同一个网站下)

    具体操作如下:

    一、用VS新建Web站点。

    二、站点下放入Jquery框架

    三、在网站中添加“web服务”

    四、将Jquery框架添加到站点下,并且加一个CallWebService.js文件,来处理调用

    当做完后,网站框架结构为(具体站点,具体分析):

     

    1.Default.aspx页面。这是调用webservice服务的页面。

    <html xmlns="http://www.w3.org/1999/xhtml" >
    <head runat="server">
        <title>Ajax调用WebService</title>

        <script src="Js/jquery-1.4.2.min.js" type="text/javascript"></script>

        <script src="Js/CallWebService.js" type="text/javascript"></script>
    </head>
    <body>
        <form id="form1" runat="server">
        <div>
        <hr />
            <input id="btnCallHello" type="button" value="调用HelloWebService" />
            <hr />
            姓名:<input id="txtName" type="text" /><br />
            <input id="btnCallBody" type="button" value="调用HelloSomeBody" />
            <hr />
            学号:<input id="txtStuSid" type="text" /><br />
            姓名:<input id="txtStuName" type="text" /><br />
            性别:<input id="txtStuSex" type="text" /><br />
            年龄:<input id="txtStuAge" type="text" /><br />
            <input id="btnSinStuInfo" type="button" value="调用SetStudentInfo" /><br />
            <hr />
            <input id="btnMulStuInfos" type="button" value="调用GetMulStudentInfos" />
            <hr />    
        </div>
        <div id="backData"></div>
        </form>
    </body>
    </html>

     

    2.MyWebService.asmx页面。为WebService服务。

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Web;
    using System.Web.Services;

    namespace WebServiceTest
    {
        /// <summary>
        /// MyWebService 的摘要说明
        /// </summary>
        [WebService(Namespace = "http://www.mywebaddr.com/")]
        [WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
        [System.ComponentModel.ToolboxItem(false)]
        // 若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。
        [System.Web.Script.Services.ScriptService]
        public class MyWebService : System.Web.Services.WebService
        {
            /// <summary>
            /// 返会语句话
            /// </summary>
            [WebMethod]
            public string HelloWebService()
            {
                return "Hello WebService";
            }

            /// <summary>
            /// 返回一句问候,根据名称
            /// </summary>
            [WebMethod]
            public string HelloSomeBody(string name)
            {
                return "Hello " + name;
            }


            /// <summary>
            /// 设置学生实体,并返回这个实体
            /// </summary>
            [WebMethod]
            public Student SetStudentInfo(string name, string sex, int age,int sid)
            {
                Student stuInfo = new Student();
                stuInfo.Sid = sid;
                stuInfo.Name = name;
                stuInfo.Sex = sex;
                stuInfo.Age = age;

                return stuInfo;
     
            }

            /// <summary>
            /// 返回泛型数据
            /// </summary>
            /// <returns></returns>
            [WebMethod]
            public List<Student> GetMulStudentInfos()
            {
                List<Student> StuList = new List<Student>();
                for (int i = 0; i < 10; i++)
                {
                    Student s = new Student();
                    s.Sid = i + 1;
                    s.Name = "Tom"+s.Sid;
                    s.Sex = "男";
                    s.Age = i + 1;
                    StuList.Add(s);
                }
                return StuList; 

            }


        }
    }

    注意:我们分别看一下这几个方法的签名,这很重要,因为方法签名决定了你调用必须遵守的规则,本文中我们用的是post方法,所以只给出post的方法签名。

    1.HelloWebService

    说明:请求的页面的地址: /MyWebService.asmx/HelloWebService;主机地址为:192.168.0.194;端口号:如果不是80端口,必须给出。

    调用该服务的完整路径为:http://192.168.0.194:85/MyWebService.asmx/HelloWebService 。(具体情况,具体分析)

    2.HelloSomeBody

    说明:请求的页面的地址: /MyWebService.asmx/HelloSomeBody;主机地址为:192.168.0.194;端口号:如果不是80端口,必须给出。

    “name=string”说明,请求该服务时,需要提供参数。

    调用该服务的完整路径为:http://192.168.0.194:85/MyWebService.asmx/HelloSomeBody 。(具体情况,具体分析)

     

    3.SetStudentInfo

    说明:请求的页面的地址: /MyWebService.asmx/SetStudentInfo;主机地址为:192.168.0.194;端口号:如果不是80端口,必须给出。

    注意参数说明。

    调用该服务的完整路径为:http://192.168.0.194:85/MyWebService.asmx/SetStudentInfo 。(具体情况,具体分析)

     

    4.GetMulStudentInfos

    说明:请求的页面的地址: /MyWebService.asmx/HelloSomeBody;主机地址为:192.168.0.194;端口号:如果不是80端口,必须给出。

    调用该服务的完整路径为:http://192.168.0.194:85/MyWebService.asmx/GetMulStudentInfos。(具体情况,具体分析)

     

     

    3.下面是核心部分,也就是调用服务的Ajax脚本代码。CallWebService.js

    $(document).ready(pageLoad);
    // 载入时进行执行的方法
    function pageLoad() {
        BindCallHello();
        BindCallBody();
        BindGetSingleStudent();
        BindGetMulStudents();
    }

     

    // 调用HelloWebService
    function BindCallHello(){
        $("#btnCallHello").click(function() {
            $.ajax({
                type: "post", //访问WebService使用Post方式请求

                url: "http://192.168.0.194:85/MyWebService.asmx/HelloWebService", //调用Url(WebService的地址和方法名称组合---WsURL/方法名)

                data: {}, //这里是要传递的参数,为Json格式{paraName:paraValue}

                contentType: "Application/Json", // 发送信息至服务器时内容编码类型

                beforeSend: function(XMLHttpRequest) {
                    XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json)
                },
                success: function(data) {
                    var jsonValue = data;
                   
                    alert(jsonValue.d);// 输出Json

                },
                complete: function(XMLHttpRequest, textStatus) {
                    var returnText = XMLHttpRequest.responseText;
                    $("#backData").html(returnText);// 输出服务器端返回数据
                }

            });


        });

    }

    // 调用调用HelloSomeBody
    function BindCallBody() {
        $("#btnCallBody").click(function() {
            var name = $("#txtName").val();
            $.ajax({
                type: "post", //访问WebService使用Post方式请求

                url: "http://192.168.0.194:85/MyWebService.asmx/HelloSomeBody", //调用Url(WebService的地址和方法名称组合---WsURL/方法名)

                data: "{name:'" + name + "'}",  //这里是要传递的参数,为Json格式{paraName:paraValue}

                contentType: "Application/Json", // 发送信息至服务器时内容编码类型

                beforeSend: function(XMLHttpRequest) {
                    XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json)
                },
                success: function(data) {
                    var jsonValue = data;

                    alert(jsonValue.d); // 输出Json

                },
                complete: function(XMLHttpRequest, textStatus) {
                    var returnText = XMLHttpRequest.responseText;
                    $("#backData").html(returnText); // 输出服务器端返回数据
                }

            });


        });

    }

    function BindGetSingleStudent() {
        $("#btnSinStuInfo").click(function() {
            var stuSid = $("#txtStuSid").val();
            var stuName = $("#txtStuName").val();
            var stuSex = $("#txtStuSex").val();
            var stuAge = $("#txtStuAge").val();
            $.ajax({
                type: "post", //访问WebService使用Post方式请求

                url: "http://192.168.0.194:85/MyWebService.asmx/SetStudentInfo", //调用Url(WebService的地址和方法名称组合---WsURL/方法名)
               
                data: "{name:'" + stuName +"',sex:'"+stuSex+"',age:'"+stuAge+"',sid:'"+stuSid+ "'}",  //这里是要传递的参数,为Json格式{paraName:paraValue}

                contentType: "Application/Json", // 发送信息至服务器时内容编码类型

                beforeSend: function(XMLHttpRequest) {
                    XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json)
                },
                success: function(data) {
                    var jsonValue = data;

                    alert(jsonValue.d.Sid); // 输出Json

                },
                complete: function(XMLHttpRequest, textStatus) {
                    var returnText = XMLHttpRequest.responseText;
                    $("#backData").html(returnText); // 输出服务器端返回数据
                }

            });


        });
    }

    function BindGetMulStudents() {
        $("#btnMulStuInfos").click(function() {
            $.ajax({
                type: "post", //访问WebService使用Post方式请求

                url: "http://192.168.0.194:85/MyWebService.asmx/GetMulStudentInfos", //调用Url(WebService的地址和方法名称组合---WsURL/方法名)

                data: {},  //这里是要传递的参数,为Json格式{paraName:paraValue}

                contentType: "Application/Json", // 发送信息至服务器时内容编码类型

                beforeSend: function(XMLHttpRequest) {
                    XMLHttpRequest.setRequestHeader("Accept", "Application/Json"); // 接受的数据类型。(貌似不起作用,因为WebService的请求/返回 类型是相同的,由于请求的是Json,所以,返回的默认是Json)
                },
                success: function(data) {
                    var jsonValue = data;

                    alert(jsonValue.d[0].Sid); // 输出Json

                },
                complete: function(XMLHttpRequest, textStatus) {
                    var returnText = XMLHttpRequest.responseText;
                    $("#backData").html(returnText); // 输出服务器端返回数据
                }

            });


        });

     
    }

    说明:相关注释写的很详细,应该地球人都知道。应该是玩程序的地球人都知道。

    总结:

    至此,所有代码知识点,都已经贴出来了。

    细心的读者应该能发现,我之所以很赘述的把4个服务方法都列了出来,其实是想让大家看清楚,每个方法的侧重点不同。调用方法上包括:无参数的调用,参数调用。

    返回值类型上包括:返回字符串,返回自定义实体数据。

    所有返回值都为Json数据。Json数据作为返回值,近来大受亲睐。

    展开全文
  • ajax调用Webservice

    千次阅读 2013-12-13 11:44:02
    在同域下Ajax调用WebService方法。(记得是同域,也就是要调用的WebService页面与Ajax请求页面在同一个网站下)。关于异步域调用,我会慢慢补上。 具体操作如下: 一、用VS2008 新建Web站点。这就不用解释了吧。 ...
  • ajax调用webservice

    千次阅读 2015-03-08 12:58:16
    通过ajax调用WebService服务    var xhr = new ActiveXObject("Microsoft.XMLHTTP");  function sendMsg(){  var name = document.getElementById('name').value;  
  • Ajax调用webservice

    2009-10-16 11:19:25
    本示例通过Ajax调用WebServic服务 1、自己做时注意要将service.cs的service class定义前加上[ScriptService](添加两个引用system.web.extentions和system.web.extentions.design) 2、在scriptmanager属性添加...
  • 主要为大家详细介绍了jQuery ajax调用webservice的注意事项,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
  • ajax 调用 webService

    2017-08-01 16:03:00
    前台脚本<script type="text/javascript"> $(function () { $.ajax({ type: "POST", //访问WebService使用Post方式请求 contentType: "application/json", //请...
  • 1、上一篇WebService文章介绍了基本的创建、调用WebService服务的形式,今天学习了一下通过Ajax调用WebService服务的形式,2、首先启动一个WebService服务,代码如下:package com.wang.webservice.service;...
  • 使用ajax调用webservice

    2018-11-08 21:50:05
    使用ajax调用webservice
  • ajax 调用 webservice

    2015-06-04 14:43:02
    //若要允许使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消对下行的注释。 [System.Web.Script.Services.ScriptService] public class GetCity : System.Web.Services.WebService { public GetCity() ...
  • 基于dojo使用ajax调用webservice,返回json格式数据,填充下拉框列表
  • jQuery AJAX 调用 WebService 的实例文章作者:网友投稿 发布时间:2010-03-25 15:43:09 来源:网络用jQuery调用其他项目的WebService 实现登录验证功能 html输入用户名密码: 代码 table style=width: 400px tr ...
  • Jquery + Ajax调用webService实例代码,需要的朋友可以参考下。
  • 本文通过实例给大家详细介绍jQuery中通过ajax调用webservice传递数组参数的相关资料,需要的朋友可以参考下
  • ajax调用webService

    2010-12-27 17:19:00
    webService 在.net3.5的时候可用ajax 的 setRequestHeader("CONTENT-TYPE","application/json") 写在发送协议头部 有什么用呢? .aspx页面 接收正常的数据类型是application/x-www-form-urlencoded 当ajax发送...
  • 用jQuery调用其他项目的WebService实现登录验证功能html输入用户名密码:代码Login ID:Login Password:Jquery引用和登录事件代码$(document).ready(function(){$('#btnSignin').click(function(){$.ajax({type: ...
  • AJAX调用webservice报500

    2019-09-19 14:29:21
    AJAX调用webservice web.config中添加这两段 1、 2、
  • 可以返回简单的对象异步调用:使用webservice的异步调用:(1)返回文本$(function (){$("#Button1").click(function(){$.ajax({contentType:"application/json",type:"POST",url:"webService.asmx/Select",---调用...
  • jQuery Ajax 调用WebService实例详解

    万次阅读 2016-04-19 00:07:37
    jQuery Ajax 调用WebService实例详解JQuery Ajax调用webservice的一些经验记录,在此实例中,解决跨域使用了Core解决方案,在下一篇文章中,会介绍JS 跨域的问题。 实例!、实例!、实例! - 跨域解决方案 目录...
  • 原文:... jquery ajax调用webservice(C#)要注意的几个事项: 1、web.config里需要配置2个地方 <httpHandlers> <remove verb="*" path="*.asmx"/> ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 11,960
精华内容 4,784
关键字:

ajax调用webservice