2

まず、このサイトはいくつかの学校のプロジェクトを通して私を大いに助けてくれました、そして私の質問がいくつかの答えのために十分に具体的であることを願っています。

私がやりたいのは、自分のページのdivのコンテンツを変更することです(これを「#content」と呼びます)。また、divのコンテンツを変更することで作成されるさまざまな「ページ」に直接アクセスできるようにします。

たとえば、「foo.com/home」をホームページにするとします。'#content' divはホームページのコードで埋める必要がありますが、その周りの他の要素(ヘッダー、フッター、ナビゲーションdivなど)は静的なままです。同様に、「foo.com/forum」は「#content」にフォーラムのコードを入力し、他のページも同じようにします。

現在、URLの最後にあるハッシュをチェックし、jQueryのload()メソッドを使用してさまざまなコードを「#content」にロードしています。ただし、ナビゲーションにハッシュを使用することはモバイルブラウザでは厄介に思えるという事実に加えて、それは私にとっても間違っていると感じます。

私はPHPを使用することを考えていましたが、PHPインクルードを使用して、URLに基​​づいて「#content」にロードされるコードを変更しました。たとえば、「foo.com/page=forum」はホームページ(ヘッダー/フッター、ナビゲーションなど)と同じ(レイアウトに関して)ページをフェッチしますが、'#contentの異なるファイルを含めるだけです。 。」ただし、これにより、「#content」だけでなく、ページ全体が再読み込みされます。

理想的には、ある種のAJAX呼び出しを使用して'#content' divだけをリロードしたいのですが、URLハッシュを編集する以外に、ブックマークなどを許可しながらこれを行う方法がわかりません。ユーザーが「foo.com/home」または「foo.com/forum」にアクセスして、「テンプレートページ」(ヘッダー/フッター、ナビゲーション)に正しいコンテンツが入力されるようにしたいと思います。

繰り返しになりますが、これが不適切な言葉の質問である場合は申し訳ありません。私はいくつかの調査を行いましたが、これを行うための最良の方法を見つけることができないようです。事前に感謝します-どんなヒントでも大歓迎です。

4

1 に答える 1

0

このサンプルコードを確認してください。

         var xmlhttp;
         if (window.XMLHttpRequest)
            {
           xmlhttp=new XMLHttpRequest();
            }
         else
            {
           xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
            }
         xmlhttp.onreadystatechange=function()
            {
           if (xmlhttp.readyState==4 && xmlhttp.status==200)
              {
             document.getElementById("content").innerHTML=xmlhttp.responseText;

          }
          } 
           var usernm = document.getElementById("username").value;
           var pwd = document.getElementById("password").value; 
           var params = "username=" + usernm + "&password=" + pwd; 
           xmlhttp.open("POST","phpfile.php",true);
           xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
           xmlhttp.send(params); 
          //xmlhttp.send(); without parameters
于 2012-11-12T06:11:39.117 に答える