1

タイトルがややこしいかもしれませんので、説明させてください。

ユーザーに関する情報、ユーザーができることなどを含むサイドパネルを持つ Web サイトがあります。ユーザーがログインしていない場合、このサイドパネルはログインまたは登録の領域になります。

このコードは次のとおりです。

<?php
if($user->loggedIn)
{
?>
<!-- side-panel for logged in users here -->
<?php
}
else
{
?>
<!-- login/registration etc -->
<?php
}
?>

私がやりたいことは、ユーザーが AJAX でログインをクリックしたときにこのコード スニペットを再度読み込み、jQuery 効果 (おそらくフェード) を使用して、ログイン/登録から光沢のあるユーザー専用パネルへのサイド パネルの移行をスムーズにすることです。

そのコードを別のファイルに入れ、AJAX を介してサイドパネルの div にロードすれば、これを実行できることはわかっていますが、サイドパネル専用の別のファイルを作成したくありません。これは可能ですか?

4

5 に答える 5

3

ページを AJAX リクエストで読み込んでから、サイド パネル以外のデータを削除することもできますが、そのポイントは何でしょうか? 最良のオプションは、サイド パネルを独自のファイルに単純に分離することです。

ああ、それも適切な方法と考えられるので、サイドバーが表示されるページを編集せずにサイドバーを編集できます。

于 2009-01-02T16:18:14.710 に答える
0

サイド パネルを独自のファイルに保持することに反対するのはなぜですか? 物事をよりモジュール化して整理します。

コンテンツをファイルに保持することに本当に反対する場合は、コンテンツをデータベースに配置し、AJAX 呼び出しが行われるたびにクエリを実行できます。

于 2009-01-02T16:24:10.597 に答える
0

別の呼び出しで実際のユーザー データを取得すると仮定すると、2 つの div を使用できます。ユーザー パネルの html を含む div が非表示になります。ログインに成功したら、ログイン div を非表示にして、ユーザー パネル div を表示します。AJAX ログインからのデータを使用して、パネルのカスタム情報を入力します。AJAX ログイン呼び出しは、ユーザー名とユーザーができることを入力するために必要な情報を返すと思います。これにより、ユーザー パネル全体の html を取得する必要がなくなります。

于 2009-01-02T16:29:05.483 に答える
0

クエリ文字列パラメーターをページに渡して、それに基づいてページの部分的なレンダリング (サイドバーのみ) を行うことはできますか? 次に、通常の jquery/ajax メソッドを使用して、クエリ文字列パラメーターを含めます。

$.ajax(function(){
    url: MyPage.php?sidebar_only=true
    ect...
})
于 2009-01-02T16:32:09.457 に答える
0

あなたが何を必要としているかを私が正確に理解しているなら、あなたはこの方法を試すことができます:

$.ajax({
    type: "GET",
    url: "url", // replace 'url' with your url
    cache: false,
    success: function(data){
        alert($(data).find('#sidebar').html());
    }
});

$.load() または $.get() で動作するかもしれませんが、わかりません。

于 2009-01-02T16:23:40.427 に答える