2012-10-11 23 views
0

我有一個頁面,其中的內容通過ajax調用加載到相應的PHP頁面。這裏是我的JavaScript用來在網頁內容加載到我的網頁容器:ajax調用一個php頁面,但php代碼被忽略

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); 
} 

我在我的身體標籤的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在Windows 2K3網絡版4

UPDATE:

我看到的代碼是越來越包括在HTML註釋。當我直接查看頁面(不使用ajax)時,PHP正常呈現。這個問題只發生在我的ajax調用上。

+0

你確定,PHP會被忽略嗎?你知道,當你「迴應」某些東西時,PHP只會產生「效果」,對吧? – ATaylor

+0

絕對!我對PHP網頁很有經驗。例如,如果我這樣做:'<?php exit(); ?>'HTML仍然顯示。或者如果我用<?php echo「Some Text」替換HTML中的一個單詞串; ?>「某些文字」沒有找到的地方。 –

+3

如果你做'查看源代碼',顯示的是PHP代碼嗎?''可能是隱藏的,但仍然從服務器返回。如果是這樣,那麼PHP不會在服務器上解析 - 它是一個服務器設置問題 – Robbie

回答

0

我的問題是我用file_get_contents回顯文件內容。我完全忘記了我正在使用這個方法而不是include。