2013-05-09 4 views
0

방금 ​​Ajax 기본 학습을 시작했습니다. 지금은 jQuery 아약스를 사용하고 있지 않습니다. 그러나 나는 많은 서치를하고 난 후에도 해결할 수없는 문제가있다.Ajax responseText에 모든 출력이 포함되어 있지 않습니다.

내 PHP 파일은

$sql = "SELECT * FROM posts"; 
$result = mysqli_query($con,$sql) or die ('Error: ' . mysqli_error($con)); 
while($feedItem = mysqli_fetch_array($result)) { 
    echo $feedItem['user']." "; 
} 
echo "dd"; 

을 - 이것도 그리고 내가 PHP를 실행하면 내가에서 호출하고있어 파일은 JS는 스크립트가

xmlhttp = new XMLHttpRequest(); 
xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState==4 && xmlhttp.status==200) { 
     alert(xmlhttp.responseText); 
    } 
} 
xmlhttp.open("GET","loader.php", true); 
xmlhttp.send(); 

지금이 파일 만 인쇄하면 인쇄됩니다 ---

user1 user2 user3 dd

그러나 다른 파일을 실행하면 경고에는 "dd"만 포함됩니다. 그것은 user1 user2와 함께 경고하지 않습니다 ...

왜 응답 내부에 루프가 포함되지 않습니까?

+0

콘솔/넷 작업 탭이나 Fiddler/Charles 같은 도구를 사용하여 응답을 보았습니까? – epascarello

+1

$ feedItem [ 'user']을 변수에 할당하고 루프 + 사용자 "dd"의 전체 결과를 에코하려고 했습니까? 마지막에있는 것만 다시보고되는 다중 에코의 가능한 문제. – DanFritz

+0

CLI 또는 웹 서버에서 스크립트를 실행하는지 여부에 따라 DB에 연결하는 방법에 약간의 차이가 있다고 생각됩니다. – Barmar

답변

0

코드가 잘 작동하고 테스트 해 보았습니다. 콘솔을 사용하여 서버에서 수신되는 원시 응답을 확인합니다. 하지만 조금 이상하게 보입니다. 웹 브라우저 나 cli에서 PHP를 실행합니까? jquery ajax를 사용하지 않는 것에 대해 축하드립니다! XMLHTTPRequest Api을 보면서 표준 방식으로 할 수있는 모든 작업을 확인하십시오.

관련 문제