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 に答える