2014-04-21 3 views
0

가 나는 asp.net-MVC 페이지를 내보기에 내 자바 스크립트에서, 나는 완벽하게 작동하는 코드가 있습니다asp.net-mvc에서 어떻게 서버 측 C# 대신 javascript를 사용하여 이것을 만들 수 있습니까?

MyView.aspx

<script type="text/javascript"> 

    var apps = <%= new JavaScriptSerializer().Serialize(Model.Apps) %>; 
    SetupApplications(apps); 

    </script> 

이 (앱 문자열의 배열입니다).

이제 이것을 ajax 메서드에서 호출되도록 변경해야합니다. 나는 몇 가지 시도했지만 어느 것도 작동하지 못했습니다. 나는이 같은 서버 측 컨트롤러 액션에서 문자열 배열을 다시 통과하고 있습니다 :

$.post("/MyController/MyAction", function (data) { 
     SetupApplications(JSON.stringify(data.Apps) } 
    , "json"); 

당신이 왜이에 결함이 아무것도 볼 수행

 return Json(new { 
      Apps = GetAppsStringArray() 
     }); 

내가 같은 메서드를 호출 자바 스크립트 콜백 클라이언트 측에서

동등하지 않을까요?

+0

"하지만 작동하지 않는 것 같습니다."문제를 잘 설명하지 못합니다. 디버거를 사용하는 것을 고려해보십시오 (대부분의 브라우저에는 하나 이상의 브라우저가 내장되어 있습니다). –

답변

1

응답에 포함 된 JSON 문자열을 구문 분석하여 만들어진 개체에서 JSON 문자열을 만듭니다. SetupApplications 함수는 코드의 첫 번째 버전에서 JSON 문자열을 사용하지 않으므로 두 번째 버전에서도 JSON 문자열을 사용해서는 안됩니다.

$.post("/MyController/MyAction", function (data) { 
    SetupApplications(data.Apps); 
}, "json"); 
+0

하지만 물론입니다. . grr. . – leora

관련 문제