这是我第一次使用 PHP 和 XMLHttpRequest,我不确定我哪里搞砸了。
这是我的 JavaScript 代码:(newsmanager.js)
function getNews(){
var httpReq;
if (window.XMLHttpRequest){
httpReq=new XMLHttpRequest();
} else {
httpReq=new ActiveXObject("Microsoft.XMLHTTP");
}
try {
httpReq.open("GET", "../news/newsgetter.php", false);
httpReq.onreadystatechange = stateChange;
httpReq.send(null);
} catch(e) {
alert("ERROR: " + e);
}
function stateChange() {
//convert result to JSON
alert(httpReq.readyState);
alert(httpReq.responseText);
var result = JSON.parse(httpReq.responseText);
loadNews(result);
}
}
function loadNews(result){ //its an ARRAY
alert("test 2");
var newsContainer = document.getElementById("news-holder");
var html = '<hr>';
for(var i = 0; i < result.length; i++) {
html += result[i];
html += '<hr>';
}
newsContainer.innerHTML=html;
}
这是我的 PHP 代码:
<?php
//folder relative to this file
$dir = "messages";
//array holding all addresses
$result = array();
//get files in directory
$files = scandir($dir);
while (($file = $dir->read()) !== false){
//find MD files
if(strlen($file) < 3 || substr($file, -4) != '.md')
continue;
$result[] = $dir . "/" . $file;
}
//convert array to JSON
echo(json_encode($result));
?>
问题是 httpReq.responseText 返回 PHP 代码本身,而不是来自 echo 的数组。我已经读了好几遍了,但我不明白为什么会导致这个问题。任何帮助将不胜感激
最佳答案
您应该启用/配置 php 才能与您的网络服务器配合使用。 您的网络服务器返回您的 php 代码,因为它不知道应该执行它。 在网上查找有关如何在操作系统/网络服务器上安装 php 的教程。
关于java - XMLHttpRequest 返回 PHP 代码,而不是 PHP 输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24722752/