ログインを更新しない AJAX 実装

php中世界最好的语言
リリース: 2018-04-02 16:31:50
オリジナル
1731 人が閲覧しました

今回は、更新なしの AJAX ログインについて説明します。 更新なしの AJAX ログインの注意点については、次のとおりです。 私は最近、非更新ログインを実現する方法を学びました。一般的な効果は次のとおりです (インターフェースは醜いので無視してください...):

ログイン ボタンをクリックすると、ログイン ウィンドウが表示されます。正しいユーザー名とパスワードを入力してクリックします。 ログイン後、ログイン ウィンドウが閉じられ、ステータスが現在のユーザー名に変更されます。

最初のポップアップ ウィンドウは、jquery のコントロールを使用します。 -ui。最初のステップは、その使用方法を学習することです。

これは jquery-UI の下に表示されるものを開き、閉じるためのキー コードを見つけます。 Dialog('close'); この 2 行のコードでウィンドウの表示を制御し、次のステップに進むことができます。 jquery-ui 開発パッケージをプロジェクトに追加します。

ステップ 2:

development-bundle->demos,找到index.html,选择dialog下的model dialog,右键查看源码,观察如何使用该控件,找到一句关键代码:$("#dialog-modal").dialog({height: 140,modal: true});AJAX リクエストを処理するための一般的な手順をここに投稿します。実際に記述する際にはハンドラーのコードを使用して記述しますが、それをリストすることはできません。理解を容易にするために、一般的なハンドラー コードを最初に掲載します:

1.IsLogin.ashx を使用して、ユーザーがログインしているかどうかを判断するには、ログイン時にユーザー名が返されます。一般的な処理プログラムでセッションを使用するには、System.Web.SessionState を導入し、IRequiresSessionState インターフェイスを実装する必要があります

using 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.ashx は、ユーザーの検出に使用されます。 ユーザー名とパスワードを入力して、それらが一致するかどうかを確認します。単純化するために、メイン インターフェイスのコードは以下に掲載されています。

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;
   }
  }
 }
}
ログイン後にコピー
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;
   }
  }
 }
}
ログイン後にコピー
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、PHP 中国語 Web サイトの他の関連記事に注目してください。

推奨読書:

Ajax はブートストラップ モーダル ボックスのページング クエリ機能をどのように実装しますか?

以上がログインを更新しない AJAX 実装の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!