JQuery Ajax Call WebService résumé _WebService

Source : Internet
Auteur : utilisateur

Transfert de : http://www.cnblogs.com/andiki/archive/2010/05/17/1737254.html

Quelques petites choses à noter concernant jquery Ajax appel WebService (C#) :

1, web.config devez configurer 2 places

Le
≪ Supprimer verbe = « * » chemin d’accès = « fichiers *.asmx » / >
≪ Ajouter verbe = « * » chemin d’accès = « fichiers *.asmx » valider = « false » Type = « System.Web.Script.Services.ScriptHandlerFactory, System.Web.Extensions, Version = 1.0.61025.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35 « / >
Le
Adhérez entre le
Le
Le
≪ Nom = « HttpPost » / >
≪ Nom = « HttpGet » / >
Le
Le

2. écrire correctement le code Webserivce

Le 

Note de synthèse par UserValidate
Le
[WebService (Namespace = « http://tempuri.org/ »)]
[WebServiceBinding (ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem (False)]
Pour permettre à ce service Web à appeler à partir d’un script à l’aide d’ASP.NET AJAX, décommentez la liaison descendante.
[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 ()
{
Chaîne de résultat = « » ;
HttpCookie cookie = HttpContext.Current.Request.Cookies["DHFonMenberInfo »] ;
Si (cookie ! = null)
{
String username = System.Web.HttpUtility.UrlDecode (cookie["MenberName"]) ;
Ipoint int = 0 ;
Gpoint int = 0 ;
Essayez
{
DataTable dt = UserBll.ExecuteUserAllInfo (nom d’utilisateur) ;

Si (dt. Rows.Count 0)
{
IPoint = int. Parse (dt. Lignes [0] [« iPoint »]. ToString ()) ;
Gpoint = int. Parse (dt. Lignes [0] [« gPoint »]. ToString ()) ;
}
}
catch
{ }
Résultat = « {« utilisateur » : {« id » : ' + cookie [ » UserId «] + » ', « name » : « + nom d’utilisateur «, » message » : ' + rp.getUserMsg (DFHon. Global.CurrentCookie.UserName) + « « IPoint » : ' » + ipoint. ToString () + « «, » gpoint ' : ' + gpoint. ToString () + « "}} » ;
}
D’autre
{
Résultat = « {« utilisateur » : {« id » : « 0 », « nom » : «, » message ' : « 0 », « ipoint » : « 0 », « gpoint » : ' 0 "}} » ;
}
Résultat de retour ;
}

[WebMethod]
[ScriptMethod (ResponseFormat = ResponseFormat.Json)]
Public string UserLogin (string userName, String Mot_passe)
{
Chaîne de retour = « » ;
Essayez
{
GlobalUserInfo info ;
DFHon.Content.UserLogin _UserLogin = new DFHon.Content.UserLogin () ;
État EnumLoginState = _UserLogin.PersonLogin (HttpUtility.UrlDecode (userName), Mot_passe, infos) ;
Si (état == EnumLoginState.Succeed)
{
DFHon.Global.CurrentCookie.Set (info) ;
DFHon.API.PDO.DiscuzNT.PassportLogin.UserLogin (Server.UrlDecode (userName), Mot_passe, -1) ;
Ipoint int = 0 ;
Gpoint int = 0 ;
DataTable dt = UserBll.ExecuteUserAllInfo (nom d’utilisateur) ;

Si (dt. Rows.Count 0)
{
IPoint = int. Parse (dt. Lignes [0] [« iPoint »]. ToString ()) ;
Gpoint = int. Parse (dt. Lignes [0] [« gPoint »]. ToString ()) ;
}
Retour = « {« utilisateur » : {« id » : ' » + d’infos. UserId.ToString () + « ', « name » : ' » + d’infos. Nom d’utilisateur + « «, » message ' : ' + rp.getUserMsg (userName) + » ipoint «, » ' : ' « + ipoint. ToString () + « «, » gpoint ' : ' + gpoint. ToString () + « "}} » ;
}
D’autre
{
Int ID = 0 ; Statut : utilisateur-2 erreur de mot de passe pour le nom d’utilisateur verrouillé-1
Interrupteur (état)
{
Affaire EnumLoginState.Err_Locked :
ID =-2 ;
Rupture ;
Affaire EnumLoginState.Err_UserNameOrPwdError :
ID =-1 ;
Rupture ;
Par défaut :
Rupture ;
}
Retour = ' {« user » : {« id » : « + ID + «, » nom » : «, » message ' : « 0 », « ipoint » : « 0 », « gpoint » : ' 0 '}} ' ;
}
}
catch
{
Retour = « {« utilisateur » : {« id » : « 0 », « nom » : «, » message ' : « 0 », « ipoint » : « 0 », « gpoint » : ' 0 "}} » ;
}
Retour retour ;
}
[WebMethod]
Public string UserLogout ()
{
Si (HttpContext.Current.Request.Cookies["DHFonMenberInfo"]!=, null)
{
HttpCookie cookie = new HttpCookie (« DHFonMenberInfo ») ;
Cookies. Expire = System.DateTime.Now.AddDays (-1) ;
Cookies. Domain = DFHon.Config.BaseConfig.getV (« Weblogin ») ;
HttpContext.Current.Response.AppendCookie (cookie) ;
}
Retourner à « 1 » ;
}
DFHon.Content.user UserBll = new DFHon.Content.user () ;
[WebMethod]
Public string ValidateUserEmail (courriel de chaîne)
{
Chaîne de résultat = « 0 » ; Retourne le résultat-2 boîte aux lettres est vide-1 format de la boîte aux lettres est incorrect 0 boîte aux lettres existe 1 remplir correctement
Si (string. IsNullOrEmpty (courriel)
{
Résultat = « 2 » ; Boîte aux lettres est vide
}
Else if ( !. IsValidEmail (courriel)
{
Résultat = « 1 » ; Format de la boîte aux lettres incorrect
}
ElseIf (UserBll.sel_useremail (courriel), 0)
{
Résultat = « 0 » ; Boîte aux lettres existe
}
D’autre
{
Résultat = « 1 » ; Peuvent s’inscrire
}
Résultat de retour ;
}

[WebMethod]
Public string ValidateUserName (string username)
{
Chaîne de résultat = « 0 » ; Valeur de retour :-1 longueur de nom utilisateur est 2-16, nom d’utilisateur 0 existe ; 1 peuvent être enregistrés
Si (nom d’utilisateur == « » || Nom d’utilisateur == Null || nom d'utilisateur. Longueur 2 || nom d'utilisateur. Longueur 16)
{
Résultat = « 1 » ;
}
ElseIf (UserBll.sel_username (username) ! = 0)
{
Résultat = « 0 » ;
}
D’autre
{
Résultat = « 1 » ;
}
Résultat de retour ;
}

Public bool IsValidEmail (chaîne strIn)
{//Return TRUE si strIn est dans le format d’adresse électronique valide.
Retour 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}) (\]?) $ " );
}
} 3, au premier plan code JQuery

Script de la 

$ (Function () {}
$ (« #Userloging »). montrer () ;
Login Box traitement commence
Connexion de charge statut
$.Ajax ({
Type : « POST », / / accès WebService utiliser demande Post
ContentType : « Application/json ; charset = utf-8 », / / WebService retourne le type Json
URL : « /API/Service/UserValidate.asmx/ValidateUserLogState",//Call WebService
Données : « {} », paramètre //Email
Type de données : « JSON »,
BeforeSend:function (x) {x.setRequestHeader (« Content-Type », « Application/json ; charset = utf-8 ") ;},
Erreur : function (x, E) {},
Succès : function (réponse) {function //callback, résultat, valeur de retour
$ (« #Userloging »). masquer () ;
Var json = eval (' (' + RESPONSE.D + ') ') ;
Var userid = json.user.id ;
Si (userid 0) {}
$ (« #Spanusername »). HTML (json.user.name) ;
$ (« #Spanmessagenum »). HTML (json.user.message) ;
$ (« #Userloginsucced »). montrer () ;
$ (« #Userloginbox »). masquer () ;
}
}
});
connectez-vous
$ (« #Userlogbutton »). Cliquez (function () {}

Var username = $ (« #username »). Val () ;
Mot_passe var = $ (« #userpassword »). Val () ;
Si (nom d’utilisateur ! = « » Mot_passe ! = «) {}
$ (« #Userloging »). montrer () ;
$.Ajax ({
Type : « POST », / / accès WebService utiliser demande Post
ContentType : « Application/json ; charset = utf-8 », / / WebService retourne le type Json
URL : « /API/Service/UserValidate.asmx/UserLogin",//Call WebService
Données : « {nom d’utilisateur : "+ le nom d’utilisateur + » ', Mot_passe : ' + mot_passe + « '} ', //Email paramètre
Type de données : « JSON »,
BeforeSend:function (x) {x.setRequestHeader (« Content-Type », « Application/json ; charset = utf-8 ") ;},
Erreur : function (x, E) {}
},
Succès : function (Result) {function //callback, résultat, valeur de retour
$ (« #Userloging »). masquer () ;
Var json = eval (' (' + resultat.d + ') ') ;
Var userid = json.user.id ;
Si (userid 0) {}
$ (« #Spanusername »). HTML (json.user.name) ;
$ (« #Spanmessagenum »). HTML (json.user.message) ;
$ (« #Userloginsucced »). montrer () ;
$ (« #Userloginbox »). masquer () ;
}
Else {}
Commutateur (userid) {}
Affaire-2 :
Alert (« l’utilisateur est verrouillé.) Veuillez vous connecter après 30 minutes. " );
$ (« #Username »). concentrer () ;
Rupture ;
Affaire-1 :
Alert (« utilisateur mot de passe ou nom erreur.) Veuillez vérifier votre nom d’utilisateur et mot de passe. " );
$ (« #Userpassword »). concentrer () ;
Rupture ;
Par défaut :
Alert (« ouverture de session a échoué.) Veuillez vérifier votre nom d’utilisateur et mot de passe et réessayez. " );
$ (« #Userpassword »). concentrer () ;
Rupture ;
}
}
}
});
}
ElseIf (nom d’utilisateur == « ») {}
Alert (« le nom d’utilisateur ne peut pas être vide.) " );
$ (« #Username »). concentrer () ;
}
ElseIf (mot_passe == « ») {}
Alert (« le mot de passe ne peut pas être vide.) " );
$ (« #Userpassword »). concentrer () ;
}
});
Sortie
$ (« #Logout »). Cliquez (function () {}
$ (« #Userloging »). montrer () ;
$.Ajax ({
Type : « POST », / / accès WebService utiliser demande Post
ContentType : « Application/json ; utf-8 », / / WebService retourne le type Json
URL : « /API/Service/UserValidate.asmx/UserLogout",//Call WebService
Données : « {} », paramètre //Email
Type de données : « JSON »,
BeforeSend:function (x) {x.setRequestHeader (« Content-Type », « Application/json ; charset = utf-8 ") ;},
Succès : function (Result) {function //callback, résultat, valeur de retour
$ (« #Userloging »). masquer () ;
Si (resultat.D 0) {}
$ (« #Userloginsucced »). masquer () ;
$ (« #Userloginbox »). montrer () ;
}
}
});

}); Fin du traitement de boîte de connexion

});
Script > / The


Nous contacter

Le contenu de cette page provient d'Internet et ne reflète pas l'opinion d'Alibaba Cloud ; les produits et services mentionnés sur cette page n'ont aucune relation avec Alibaba Cloud. Si le contenu de la page vous semble problématique, veuillez nous écrire un courriel, nous traiterons le problème dans les 5 jours suivant la réception de votre message.

Si vous constatez des cas de plagiat de la part de la communauté, veuillez envoyer un courriel à : info-contact@alibabacloud.com et fournir des preuves pertinentes. Un membre de notre équipe vous contactera dans les 5 jours ouvrables.

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.