2011-08-08 7 views
0

일부 아약스를 배우려고합니다. 그리고 아약스가 비동기 적으로 텍스트 파일을 읽으려고합니다.간단한 아약스 예제가 작동하지 않습니다.

을 heres 내 코드 : 내가 링크를 클릭 이제까지

<html> 
<head> 
    <script type="text/javascript"> 
    var http = false; 

    if(navigator.appName == "Microsoft Internet Explorer") { 
     http = new ActiveXObject("Microsoft.XMLHTTP"); 
    } else { 
     http = new XMLHttpRequest(); 
    } 

    function replace() { 
     http.open("GET", "tester.txt", true); 
     http.onreadystatechange=function() { 
     if(http.readyState == 4) { 
      document.getElementById('foo').innerHTML = http.responseText; 
     } 
     } 
     http.send(null); 
    } 
    </script> 
</head> 
<body> 

<p><a href="javascript:replace()">Replace Text</a></p> 

<div id="foo" style="background: #CFEBFF; border: 2px solid #0090F4; padding: 4px"> 
    Hello, world! 
</div> 

</body> 
</html> 

는 내가 거기 받았습니다. 그냥 공백을 보여줍니다. 그러나 동일한 디렉토리 (tester.txt)에있는 내 텍스트 파일에는 몇 가지 정보가 있습니다. 도와주세요? 고맙습니다.

+0

요청 및 응답을 보려면 시작을 누르십시오. –

+0

이상한, 나는 그것을 파이어 폭스에서 작동하도록 만들었다. 그러나 그것은 나의 크롬에 관한 일을 didnt한다. 우분투 리눅스 10.10 있습니다. 어쩌면 그게 문제 야? – de1337ed

답변

2

힘든 방법을 배우는 방법에 대해 정말로 알고 싶지 않다면, 이것을 위해 jQuery을 권하고 싶습니다. a great library for AJAX requests을 사용하면 이상한 브라우저 차이를 모두 처리 할 수 ​​있습니다. 당신이, 음, 행운을 빕니다 당신이 어려운 방법을 찾고 있다면

$.get('tester.txt').success(function (receivedData) { 
    //do something with receivedData 
}); 

: 당신이 원하는 통화를하기 위해서는처럼 간단 할 것입니다. jQuery implements it에서 몇 가지 단서를 찾아 보려면 줄 7442에서 7980까지를 참조하십시오.

+0

흠. 나는 jquery가 비동기라는 것을 몰랐다. 질문 : 간단한 온라인 채팅 프로그램을 만들기 위해이 내용을 더 확장하려고합니다. jquery가 채팅 정보를 위해 mysql 데이터베이스를 폴링 할 수 있습니까? 이것에 대해 가장 좋은 방법은 무엇입니까? 고맙습니다. – de1337ed

+0

다른 질문 같아 보입니다. 아마도 [WebSockets] (http://en.wikipedia.org/wiki/WebSocket) 또는 [long polling] (http://stackoverflow.com/questions)을 사용하여 지속적인 연결을 사용하는 클라이언트 - 서버 시스템을 원할 것입니다./5428450/how-does-nodejs-handle-persistent-connections-without-websockets/5429752 # 5429752). jQuery를 사용하는 클라이언트 측에서는 AJAX 호출을 적절한 루프로 가져 와서 새 채팅 정보를 찾는 서버를 호출해야합니다. –

관련 문제