ホームページ > バックエンド開発 > PHPチュートリアル > jquery.getJson() セッションの不整合の問題

jquery.getJson() セッションの不整合の問題

WBOY
リリース: 2016-06-23 14:22:14
オリジナル
1239 人が閲覧しました

皆さん、こんにちは。私は最近 Web サイトを構築しています。次のコードを使用して register.php を非同期にリクエストしていますが、register.php と login.php によって出力される sessionId が矛盾しています。 . jqueryのバージョンが低すぎることが原因でしたが、最高のバージョンに変更した後でもこの問題が発生しました。専門家が解決するのを手伝ってくれますか?

$.getJSON("register.php",{username:username},function(data){
$("#lgform").submit(); //login.jsp に送信


ディスカッションへの返信 (解決策)

セッションは jquery とは何の関係もないようです。おそらくコードに問題があります。分析のために投稿できます。


関連しているようです、私は以前に遭遇したことがあります、コードは非常に単純です、セッションはconf.phpファイルで設定され、register.phpとlogin.phpで導入されます


conf.phpファイル
ini_set ('session.cookie_domain','localhost');
$sessionId = session_id();
register.php がデータを受信した後

jquery returns データの後、login.php にリクエストします
$_SESSION['username'] データが空です、login.php の sessionId が register.php の sessionId と一致しません

この質問に答えられる専門家はほとんどいませんか?

完全なテスト コードを提供してください。不可能な問題を検証するコードを他人に書かせることはできません

これは IE でのみ存在する必要があります。

問題の原因:

IE6/IE7 でサポートされている P3P (Platform for Privacy Preferences Project (P3P) 仕様) プロトコルは、プライバシーとセキュリティに関する声明のないサードパーティ Cookie をデフォルトでブロックします。Firefox は現在、P3P セキュリティ機能をサポートしていません。 Firefox には存在しません。この問題は解決されました。これに関する Mircosoft の詳細な説明は、「Internet Explorer 6 のプライバシー」にあります。

解決策は、サーバーが応答したときに P3P ホスト ヘッダー ステートメントを出力することです。

Baidu ライブラリへのリンクを提供します
http://wenku.baidu.com/view/ ea504514866fb84ae45c8d2c.html
C# コードを貼り付けます:
if (context.Request.Browser.Browser.ToUpper().Contains("IE")) を Ajax ログイン ページ **.ashx コードに追加します

if (context.Request) を追加します。 .Browser.Browser.ToUpper().Contains("IE"))
context.Response.Headers.Add(" P3P", "CP=CAO PSA
");

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート