Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/269.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 动态更改div内容,而页面的某些部分保持静态,并允许直接访问任何内容(比如书签)?_Php_Jquery_Ajax_Web - Fatal编程技术网

Php 动态更改div内容,而页面的某些部分保持静态,并允许直接访问任何内容(比如书签)?

Php 动态更改div内容,而页面的某些部分保持静态,并允许直接访问任何内容(比如书签)?,php,jquery,ajax,web,Php,Jquery,Ajax,Web,首先,这个网站在一些学校项目中帮了我很大的忙,我希望我的问题足够具体,能有一些答案 我想做的是在我的页面上更改一个div的内容(我们称之为“#content”),同时以某种方式允许直接访问通过更改div的内容创建的各种“页面” 例如,假设“foo.com/home”是主页。“#content”div需要用主页的代码填充,而其周围的其他元素保持静态(例如页眉、页脚和导航div)。同样,“foo.com/forum”将用论坛代码填充“#content”,其他页面也会这样做 目前,我只是简单地检查UR

首先,这个网站在一些学校项目中帮了我很大的忙,我希望我的问题足够具体,能有一些答案

我想做的是在我的页面上更改一个div的内容(我们称之为“#content”),同时以某种方式允许直接访问通过更改div的内容创建的各种“页面”

例如,假设“foo.com/home”是主页。“#content”div需要用主页的代码填充,而其周围的其他元素保持静态(例如页眉、页脚和导航div)。同样,“foo.com/forum”将用论坛代码填充“#content”,其他页面也会这样做

目前,我只是简单地检查URL末尾的哈希,然后使用jQuery的load()方法将我的各种代码加载到“#content”中。然而,除了在移动浏览器上使用哈希进行导航看起来很挑剔之外,我觉得这也不对

我考虑使用PHP,然后使用PHP includes根据URL更改加载到“#content”中的代码。例如,“foo.com/page=forum”将获取一个与主页(页眉/页脚、导航等)相同(布局)的页面,但只包含一个不同的“#content”文件。但是,这将重新加载整个页面,而不仅仅是“#content”,对吗

理想情况下,我希望使用某种AJAX调用来重新加载“#content”div,但是,除了编辑URL散列,我不知道如何做到这一点,同时还允许使用书签等。我希望用户能够访问“foo.com/home”或“foo.com/forum”,并在“模板页面”(页眉/页脚,导航)中填入正确的内容


同样,如果这是一个措辞拙劣的问题,我很抱歉。我做了一些研究,但似乎找不出最好的方法来完成这项工作。提前感谢——感谢您提供的任何提示。

请查看以下示例代码:

         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

谢谢你的回复。今晚回家后,我将看一看您的示例代码。我终于有机会了解了这段代码的功能,并对XMLHttpRequest对象进行了一些其他研究。这正是我想要的——谢谢!