【问题标题】:XMLHttpRequest returning PHP code, not PHP outputXMLHttpRequest 返回 PHP 代码,而不是 PHP 输出
【发布时间】:2014-09-03 13:20:43
【问题描述】:

这是我第一次使用 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 的数组。我已经读了好几次了,我不明白为什么会出现这个问题。任何帮助将不胜感激

【问题讨论】:

  • 你的网络服务器在运行吗?
  • 是的。主机是 Github Pages

标签: java php json xmlhttprequest


【解决方案1】:

您应该启用/配置 php 以使用您的网络服务器。 您的网络服务器返回您的 php 代码,因为它不知道应该执行它。 在网上寻找有关如何在您的 OS/Web 服务器上安装 php 的教程。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-21
    相关资源
    最近更新 更多