2011-07-30 15 views
0

ウェブサイト上の異なるページが1つのラッパーに読み込まれるプロジェクトがあります。ページリンクをクリックすると、コンテンツは、ユーザーが新しいページに移動するのではなく、そのページがラッパーにロードされます。サイトはPHPとMySQLで構築されており、ページはリロードされません。どうやら、それは1つの滑らかな動きであるはずです。javascript変数が設定されている場合にPHPファイルを含める

私はそれをかなりカットしていないいくつかのオプションを実行しました。私は、すべてのファイルを含めて、表示なしのdiv内にあると考えました。そのため、ページが選択されると、JavaScriptはdiv表示を可視に更新します。この問題は、すべてのページを解析する必要があることを意味します。これは、余分なデータベースクエリとそれに伴うページ読み込み時間の低下を意味します。

私が試したもう1つのことは、ページリンクをクリックしたときにAJAX呼び出しを開始することです。 JavaScriptはページ名をPHPスクリプトに渡します。PHPスクリプトは、渡されたページ名に等しいセッション変数$ _ SESSION ['page_name']を設定します。

      //assume $page is equivalent to $_SESSION['page_name'] 
      if(isset($page) && file_exists("pages/$page") 
      { 
       require_once "pages/$page"; 
      } 

をしかし、これは動作するためにリフレッシュするためのページが必要です。これを利用して、私は、このような何かを行うことができます。私はこれをすべてページの再ロードなしで済まそうとしています。

だから私はちょっと立ち往生しています。助言がありますか?

答えて

1

コントロールポイントがクライアントです。成功したAjaxレスポンスがトリガーされたときにJavaScriptがクッキーを設定するかどうかJSがAJAX呼び出しを完了すると、クッキーを設定します。あなたのクリックイベントでは、クッキーが存在するかどうかに応じて、必要なクッキーをチェックし、適切なAJAXコールを行うかどうかを決めます。

この場合、状態処理の責任をサーバーに負わないでください。

2

$ _SESSIONを使用しないでください。 ajaxリクエストを実行するときには、GETまたはPOSTパラメータを使用してください。私。代わりに/something.phpを取得する代わりに/something.php?page=xyzを取得します。次に、PHPのパラメータを使用して必要なものを決定します。

後で使用するためにセッション変数セットが必要な場合は、ajaxリクエストを処理するときにこれを行うことができます。私。あなたが今やっていることの順序を逆にする

1

単純なコントローラでビューを読み込みますか?

関連する問題