0

我有一个页面,其中内容是通过对相应 PHP 页面的 ajax 调用加载的。这是用于将页面内容加载到我的页面容器中的 javascript:

function loadPage(filename,id){
    var ajaxRequest;
    try{ajaxRequest = new XMLHttpRequest();} catch (e){try{ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");} catch (e) {try{ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");} catch (e){alert("Error: Browser/Settings conflict");return false;}}}
    ajaxRequest.onreadystatechange = function(){
        if(ajaxRequest.readyState == 4){
            document.getElementById(id).innerHTML = ajaxRequest.responseText;
        }
    }
    ajaxRequest.open("GET",filename,true);
    ajaxRequest.send(null);
}

我的 body 标签中有一个 onload 事件来加载所需的页面(默认情况下,我的 $page 变量将加载第一页)

<body onload="loadPage('getpage.php?page=<?php echo $page; ?>','page_contents');">

一切正常,直到我尝试在这些页面文件中放置任何 PHP。我的其他页面有正确加载的按钮。我的 ajax 正在调用的 php 文件没有在<?php ?>标签中呈现任何 php,没有错误,它只是被忽略了。当我在这些 php 文件中存储纯 HTML 时,所有内容都会显示出来。我什至试图放置一个 include(); 在不存在的文件上查看是否出现任何错误 - 没有显示。我还尝试在页面顶部发出 exit() ,但它们仍在显示。

任何想法为什么我的 php 语法被忽略?

这是使用 IIS 6 和 PHP 4 的 Windows 2K3 Web 版本。

更新:

我看到代码被包含在 HTML 注释中。当我直接查看页面(不使用 ajax)时,PHP 会正常呈现。这个问题只发生在我的 ajax 调用上。

4

1 回答 1

0

我的问题是我正在使用 file_get_contents 回显文件内容。我完全忘记了我使用这种方法而不是包含。

于 2012-10-11T19:04:06.597 回答