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 回答