2012-12-11 3 views
0

서버에서 데이터를 가져 오는 방법을 배우려면 test.jsp이라는 페이지를 작성했습니다. test.jsp JS 코드 :AJAX 콜백 함수의 데이터는 IE8에서만 정의되지 않았습니다

처음에는 {async: false} 옵션을 추가하지 않았지만 제대로 작동하지 않았습니다. 간단한 서블릿

<script type="text/javascript"> 
    $(document).ready(function(){ 
     $.get(
      "./tabServlet?t=" + new Date(), 
      { async: false }, 
      function(data) { 
       alert(data); 
      } 
     ); 
    }); 
</script> 

긴급 코드 :

protected void doGet(HttpServletRequest request, HttpServletResponse response) 
    throws ServletException, IOException 
{ 
    PrintWriter out = response.getWriter(); 
    out.print("12345"); 
    out.close(); 
} 

문제 IE8에서 alert(data)undefined을 도시한다는 것이다. 동일한 코드가 Chrome에서 잘 작동합니다. 아무도 왜 이것이라고 말할 수 있습니까?

+0

'new Date()'.valueOf()는 공백없이 쿼리 매개 변수를 생성하기 때문에 사용할 수 있습니다. IE8은 URL에 공백이있는 것을 좋아하지 않을 수 있습니다. – zackg

+0

나는 노력했다. 콜백 함수가 실행된다고 생각합니다. 그래서 URL에 아무 문제가 없습니다. – cloud

+1

URL은 아마도 괜찮을 것입니다. 또한 $ .get에서 예상하는 데이터 유형을 지정해야합니다. 또한 보내고있는 "async"매개 변수가 GET 매개 변수로 서버에 보내지는데, 비동기 요청을하는지 여부와 상관이 없습니다. [$ .get()] (http://api.jquery.com/jQuery.get/)에 대한 JQuery 설명서를 확인하십시오. – zackg

답변

1

IE8에서 이것을 시도해 보았지만 정상적으로 작동했습니다. 코드를 디버그하고 코드의 문제점을 확인하려면 먼저 응답 "12345"가 반환되는지 확인하십시오.

관련 문제