2015-01-30 2 views
0

저는 javascript/ajax 개발에 익숙합니다. 내 응용 프로그램에서 밀어 넣기 메시지 (부분 응답)을 읽으려면 클라이언트가 아약스 동안 밀어 넣기 servelt3.0 서버 쪽에서 사용하고 있습니다. 서버가 계속해서 ServletOutputStream을 통해 메시지를 푸시하지만 클라이언트 측에서는 Java에서 스팀 읽기와 달리 비동기 http 응답을 읽으려고 아약스를 사용하고 있습니다. 나는 때마다ajax 또는 jquery를 사용하여 비동기 HTTP (servlet3.0) 응답을 읽는 방법?

Ajax 코드 추가 반응을 얻고있다 :

var a; 

    if (window.XMLHttpRequest) 
    {// If the browser if IE7+[or]Firefox[or]Chrome[or]Opera[or]Safari 
     a=new XMLHttpRequest(); 
    } 
    else 
    {//If browser is IE6, IE5 
     a=new ActiveXObject("Microsoft.XMLHTTP"); 
    } 

a.onreadystatechange=function() 
{ 
    console.log("a.readyState: " + a.readyState + " response is : " + a.response); 
    if (a.readyState==4 && a.status==200) 
    { 
    console.log("state 4 response is : " + a.response); 
    document.getElementById("myDiv").innerHTML=a.responseText; 
    } 
} 
a.open("GET","http://localhost:8080/Servlet3Demo/AsyncLongRunningServlet?time=12000",true); 
//a.multipart = true; 
a.overrideMimeType("Transfer-Encoding: chunked"); 
//a.overrideMimeType("text/plain"); 
a.send(); 
} 

및 응답입니다 : 나는 자바 스트림처럼 읽고 싶은

a.readyState: 3 response is : Fri Jan 30 11:40:45 IST 2015 ajaxTestPc.html:92 
a.readyState: 3 response is : Fri Jan 30 11:40:45 IST 2015Fri Jan 30 11:40:46 IST 2015 ajaxTestPc.html:92 
a.readyState: 3 response is : Fri Jan 30 11:40:45 IST 2015Fri Jan 30 11:40:46 IST 2015Fri Jan 30 11:40:47 IST 2015 

.

좋습니다.

감사합니다,

답변

0

당신이 이러한 코드의 짧은 라인 사용하기 쉽고 매우 잘 쓰여진 그대로 아약스에 대한 jQuery를 사용 ONT 왜 이봐 난 당신의 필요 조건에 오히려 자바 스크립트를 사용하여보다 일치 내 대답을 모르는 로 : 아약스 많은 옵션이이처럼

$(document).ready(function(){ 
    $.ajax({ 
     data:'whatever data you want to use to send on url', 
     type:'post/get', 
     async: true, 
     success: function(){ 
      // whatever on success you want to write 
     }, 
     error: function(){ 
     // on ajax fail any message 
     } 
    }) 
}) 

사람이 될 수 read here