検索
ホームページWeChat アプレットミニプログラム開発ミニ プログラムでセッションを管理するにはどうすればよいですか?

ミニ プログラムでセッションを管理するにはどうすればよいですか?次の記事では、WeChat アプレット開発のためのセッション管理に関するチュートリアルを紹介します。一定の参考値があるので、困っている友達が参考になれば幸いです。

ミニ プログラムでセッションを管理するにはどうすればよいですか?

WeChat アプレットの開発では、wx.request() によって開始される各リクエストはサーバーの異なるセッションであり、WeChat アプレットはセッション情報を戻しません。セッションはプロジェクト内でユーザー情報を保存するために使用されるため、それ以降のリクエストはログインしないことと同じになります。

ここでのセッションは、wx.login() メソッドを通じてミニ プログラムによって維持されるセッションではなく、独自のサーバー側セッションであることに注意してください。

通常の状況では、クライアントがサーバーへのリクエストを開始すると、セッション情報が Cookie に保存され、リクエスト ヘッダーの形式でサーバーに戻され、リクエスト内の特定の情報が返されます。 header はセッション ID です。下の図に示すように

ミニ プログラムでセッションを管理するにはどうすればよいですか?

#赤色の部分は、リクエストを行うときにサーバーに返されるリクエスト ヘッダーを運ぶ必要があることを示しています。必要なのは JESSIONID の値です。たまたま、WeChat アプレットもリクエスト ヘッダーのサポートを提供しています。

解決策:

1. ユーザーがログインすると、サーバーはユーザーの sessionId を返します。

2. アプレットは sessionId を保存し、後続の各リクエストのリクエスト ヘッダーに sessionId を含めます

サーバーのキー コード:

セッション ID の取得方法。リクエスト オブジェクトを取得すれば簡単に取得できます。

Sting sessionId = request.getSession().getId();

セッション ID を返します

...//登录时的业务代码
response.getWriter.write(sessionId);//把sessionId返回给前台

アプレットにログインした後、セッション ID をグローバル変数、app.js グローバル変数を保存するのに適した場所です。

...//登录后的逻辑处理
getApp().globalData.header.Cookie = \'JSESSIONID=\' + _data.sessionId;

app.js のコード

globalData:{
header:{\'Cookie\': \'\'} //这里还可以加入其它需要的请求头,比如\'x-requested-with\': \'XMLHttpRequest\'表示ajax提交,微信的请求时不会带上这个的
},

アプレットをリクエストするときにセッション ID を取得する

var header = getApp().globalData.header; //获取app.js中的请求头
wx.request({
url: localhost:8080/xx/xx,
header: header, //请求时带上这个请求头
success:function(res){
  }
}

独自のリクエスト情報をカプセル化し、いくつかの共通ロジックを処理することをお勧めします。

推奨事項: 「 ミニ プログラム開発チュートリアル

以上がミニ プログラムでセッションを管理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事はcsdnで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

MantisBT

MantisBT

Mantis は、製品の欠陥追跡を支援するために設計された、導入が簡単な Web ベースの欠陥追跡ツールです。 PHP、MySQL、Web サーバーが必要です。デモおよびホスティング サービスをチェックしてください。

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

MinGW - Minimalist GNU for Windows

MinGW - Minimalist GNU for Windows

このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい