2014-07-13 5 views
1

이것은 PHP 및 XMLHttpRequest를 처음 사용하는 것으로 어디에서 엉망이 됐는지 잘 모르겠습니다.XMLHttpRequest는 PHP 코드가 아닌 PHP 코드를 반환합니다.

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 코드입니다 (newsmanager.js) :

여기 내 자바 스크립트 코드의

<?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로부터 배열. 나는이 문제를 여러 번 읽었으며 왜이 문제가 발생하는지 보지 못했습니다. 어떤 도움을 주시면 감사하겠습니다.

+0

웹 서버가 실행 중입니까? – jeff

+0

예. 호스트는 Github Pages입니다. – JsKingBoo

답변

1

웹 서버에서 php를 사용하도록 설정/구성해야합니다. 웹 서버가 PHP 코드를 실행해야하는지 모르기 때문에 PHP 코드를 반환합니다. 웹에서 OS/웹 서버에 php를 설치하는 방법에 대한 자습서를 찾으십시오.

관련 문제