Heim > Artikel > Backend-Entwicklung > So implementieren Sie die AJAX-Anmeldefunktion ohne Aktualisierung
Wenn Sie auf die Schaltfläche „Anmelden“ klicken, wird ein Anmeldefenster angezeigt. Nachdem Sie den richtigen Benutzernamen und das Kennwort eingegeben und auf „Anmelden“ geklickt haben, wird das Anmeldefenster geschlossen und der Status wird in den aktuellen Benutzernamen geändert implementiert die aktualisierungsfreie Anmeldefunktion. Freunde, die sie benötigen, können darauf verweisen.
Wenn Sie auf die Anmeldeschaltfläche klicken, wird ein Anmeldefenster angezeigt Das Anmeldefenster wird geschlossen und der Status wird auf den aktuellen Benutzernamen geändert.
Schritt 1:
Zunächst verwendet das Popup-Fenster Steuerelemente in jquery-ui. Der erste Schritt ist um zu erfahren, wie man es verwendet.
Öffnen Sie die Entwicklungsbundle->Demos unter der dekomprimierten JQuery-Benutzeroberfläche und suchen Sie „index.html“, wählen Sie den Modelldialog unter „Dialog“ aus und klicken Sie mit der rechten Maustaste, um den Quellcode anzuzeigen. Beobachten Sie, wie Sie das Steuerelement verwenden, und finden Sie einen Schlüsselcode: $("#dialog-modal").dialog({height: 140,modal: true}); Wenn angezeigt, öffnen Sie den Quellcode in der Modellnachricht und finden Sie den Schlüsselcode zum Schließen: $(this).dialog('close'); Mit diesen beiden Codezeilen können Sie die Anzeige und das Schließen des Fensters steuern und mit dem nächsten Schritt fortfahren um den CSS-Ordner und den JS-Ordner des jquery-ui-Entwicklungspakets in das Projekt zu kopieren.
Schritt 2:
Veröffentlichen Sie hier den Code des allgemeinen Handlers für die Verarbeitung von AJAX-Anfragen Ich schreibe tatsächlich, ich verwende es, bevor ich es schreibe, aber es ist unmöglich, es hier Schritt für Schritt aufzulisten. Um das Verständnis zu erleichtern, werde ich zuerst den allgemeinen Verarbeitungsprogrammcode veröffentlichen:
1.IsLogin .ashx, verwenden Um festzustellen, ob der Benutzer angemeldet ist, wird der Benutzername zurückgegeben, wenn er angemeldet ist. Beachten Sie hier, dass zur Verwendung der Sitzung im allgemeinen Handler System.Web.SessionState und die IRequiresSessionState-Schnittstelle
eingeführt werden müssenusing System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.SessionState; namespace AJAX无刷新登录.AJAX { /// <summary> /// IsLogin 的摘要说明 /// </summary> public class IsLogin : IHttpHandler,IRequiresSessionState { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; if (context.Session["userName"] != null) { string userName = context.Session["userName"].ToString(); context.Response.Write("yes|"+userName); } else { context.Response.Write("no"); } } public bool IsReusable { get { return false; } } } }
2.CheckLogin muss eingeführt werden, um zu erkennen, ob der vom Benutzer eingegebene Benutzername und das Passwort übereinstimmen. Wenn es korrekt ist, wird „Ja“ zurückgegeben, wenn es falsch ist, wird „Nein“ zurückgegeben. Der Einfachheit halber ist die Datenbank hier nicht verbunden.
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.SessionState; namespace AJAX无刷新登录.AJAX { /// <summary> /// CheckLogin 的摘要说明 /// </summary> public class CheckLogin : IHttpHandler,IRequiresSessionState { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; string userName = context.Request["userName"]; string password=context.Request["password"]; if (userName=="admin"&&password=="admin") { context.Session["userName"] = "admin"; context.Response.Write("ok"); } else { context.Response.Write("no"); } } public bool IsReusable { get { return false; } } } }
3. LoginOut.ashx wird zur Steuerung der Benutzerabmeldung verwendet. Setzen Sie die Sitzung auf leer ist vorbei. Der Code der Hauptschnittstelle ist unten aufgeführt:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.SessionState; namespace AJAX无刷新登录.AJAX { /// <summary> /// LoginOut 的摘要说明 /// </summary> public class LoginOut : IHttpHandler,IRequiresSessionState { public void ProcessRequest(HttpContext context) { context.Response.ContentType = "text/plain"; context.Session["userName"] = null; } public bool IsReusable { get { return false; } } } }