0

'requestedPageType' は、アプリケーションの URL パラメーターです。ユーザーがログインするたびに、ダッシュボードが表示されます。ダッシュボードは requestedPageType 値と jquery load() の正しいビューを取得します。したがって、「requestedPageType=userProfile」の場合、CodeIgniter の userProfile ビューがロードされ、jquery を使用して追加されます。ユーザーが表示しようとしているページに基づいて、個々のページをdashboard.phpにロードできる別の方法は何ですか?

以下は、これまでのコードの例です。

if ($(document).getUrlParam("requestedPageType") === 'startpage') {
    // loads the wall when the user firsts logs in
        jQuery('#main').load('<?=base_url()?>index.php/routers/startpage');
    } else if ($(document).getUrlParam('requestedPageType') === 'wall_1') {
        var ide2 = $(document).getUrlParam("churchid");
        // loads wall_1
        $('#main').load('<?=base_url()?>index.php/routers/wall_1',{id:ide2});
        $('#logoTd').remove();
} else if ($(document).getUrlParam("requestedPageType") === 'userProfiles') {
    // loads the wall when the user firsts logs in
    var ide = $(document).getUrlParam("id");
        jQuery('#main').load('<?=base_url()?>index.php/routers/userProfiles',{id:ide});
} else if ($(document).getUrlParam("requestedPageType") === 'addEditUserInfo') {
    var ide1 = $(document).getUrlParam("id");
    jQuery('#main').load('<?=base_url()?>index.php/routers/addEditUserInfo', {id:ide1});
} if ($(document).getUrlParam("loggingStatus") === 'loggedIn') {
    $("#showUserBlink").fadeIn(1000); // show and blink when user first logs in

}
4

1 に答える 1

2

PHPでリダイレクトなどを行います。とにかく、新しいリクエストを送信するコストを支払っています。パラメータをPHPスクリプトに転送するだけで、リダイレクトまたはインクルードでユーザーに何を表示するかを決定できます.

あなたが現在提案している方法では、ユーザーがパラメーターを変更して、たとえば id が 1 のユーザー情報を編集する場合 (おそらくあなた!)、問題が発生する可能性があります。このような動作を検出するためにサーバー側を適切にコーディングすると、サーバー側で必要なすべてのロジックが既に得られており、JavaScript を使用する必要はありません。

于 2012-09-21T01:17:37.370 に答える