2009-05-22 1 views
1

.NET MVC 패턴에 익숙하지 않고 컨트롤러에서 AJAX.BeginForm Helper 클래스를 사용하여 Action을 호출하려고했습니다. 반환 JSON()을 사용하여 seralized JSON을 반환했습니다.ASP.NET MVC 반환 JSON() 나 파일 저장 대화 상자를 표시하지 않습니다.

내 견해로는 Scrip 마녀가 리턴 된 JSON을 사용해야한다고 추가했습니다.

 function ResultSet(request) { 

    var json = content.get_response().get_object(); 
    var result = eval(json); 

    if (result.Successfull) { 
     alert("Success!"); 
    } 
    else { 
     alert("else"); 
     } 
    } 

그러나 브라우저가 반환되면 JSON 파일을 저장하는 저장 대화 상자가 표시됩니다.

왜 그런가요?

답변

2

나는 비슷한 문제, 당신은 마이크로 소프트 아약스 라이브러리에 대한 참조를 추가 확인하고 시도 했어 : 다음과 같이

0

응용 프로그램/JSON에 대한 응답의 콘텐츠 형식을 설정하려고

<script src="/Scripts/MicrosoftAjax.debug.js" type="text/javascript"></script> 
<script src="/Scripts/MicrosoftMvcAjax.debug.js" type="text/javascript"></script> 

도 있습니다. 당신의 ResultSet() 메소드는 "request"라는 이름의 변수를 매개 변수로 취한다. 나는 이것을 "content"라고해야한다고 생각한다.

<script type="text/javascript"> 
    function ResultSet(content) { 
     var json = content.get_response().get_object(); 

     var result = eval(json); 
     if (result.Successfull) { 
      alert("Success!"); 
     } 
     else { 
      alert("else"); 
     } 
    }  
</script> 
+0

그건 중복입니다. 반환 Json() 이미 그것을 않습니다. –

0

jQuery를 참조하는 것을 잊었습니다. html의 머리에 넣으십시오 :

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
관련 문제