2013-01-12 2 views
0

ASP.NET MVC 응용 프로그램에서 JavaScript XMLHttpRequest() 객체를 사용하여 테스트하려고합니다. 내가 내가보기에 넣어 다음 테스트 코드를 작성했습니다 -! "그것을"ASP.NET MVC에서 JavaScript XMLHttpRequest() 사용

<script type="text/javascript"> 
var request; 

function getAJAX() { 
    request = new XMLHttpRequest(); 
    request.open("GET", "test.txt"); 
    request.onreadystatechange = checkData(); 
    request.send(null); 
} 


function checkData() { 
    if (request.readyState == 4) { 
     if (request.status == 200) { 
      alert(request.responseText);     
     } 
    } 
} 
</script> 

<form action=""> 
    <p> 
     <button type="button" onclick="getAJAX()">DO IT!</button> 
    </p> 
</form> 

내가 클릭 할 때를 버튼을 클릭하면 스크립트 함수가 호출되지만 "request.onreadystatechange"은 절대로 변경되지 않습니다. 나는 이것에 대해 몇 가지 질문이 -

  1. request.open() 호출 무슨 일이 일어나고 있는지 추적하는 간단한 방법이 있나요?
  2. XMLHttpRequest() 개체가 ASP.NET MVC 응용 프로그램에서도 작동합니까?
  3. 이 작업을 수행하려면 Global.asax 파일 (또는 다른 변경 사항)을 변경해야합니까?
  4. "base" 디렉토리 (Global.asax 파일과 동일한 위치)에 "test.txt"이 있는데 이는 request.open 호출이 표시되는 곳입니까?

: 매우

감사 (참고 나는 jQuery를하지 않고이 작업을 수행하려합니다)!

답변

1

결과로을 설정하고 checkData을 실행 중입니다.) (

request.open에 무슨 일이 일어나고 있는지 추적하는 간단한 방법이 있나요 : 대신 onreadystatechange 동일한 checkData에 설정하고 당신이 가서 잘되어야합니다 : 다른 질문에 대해서는

function getAJAX() { 
    request = new XMLHttpRequest(); 
    request.open("GET", "test.txt"); 
    request.onreadystatechange = checkData; // Don't execute checkData 
    request.send(null); 
} 

요구?

Firebug 또는 원하는 개발 도구를 사용하여 AJAX 요청을 검사하십시오.

XMLHttpRequest() 객체가 ASP.NET MVC 응용 프로그램에서도 작동합니까?

네, 정상적으로 작동합니다.

이 작업을 수행하려면 Global.asax 파일 (또는 다른 변경 사항)을 변경해야합니까?

아니요.

"base"디렉토리 (Global.asax 파일과 동일한 위치)에 "test.txt"가 있는데 request.open 호출이 표시됩니다.

어쩌면? 라우팅 규칙과 IIS 구성 방법에 따라 달라집니다.

+0

감사합니다. Andrew! 그게 효과가 있었어! –

+0

@ABogus : 문제 없습니다! 기꺼이 도와주세요. –