2014-02-21 1 views
0

내가 관찰 값ko.toJSON는 JSON 문자열로 JS 객체를 변환하지 않았다 내보기 모델 내부

var COAData = { 
       ACCOUNT_CODE: self.ACCOUNT_CODE, 
       ACCOUNT_NAME: self.ACCOUNT_NAME, 
       ACCOUNT_DESCRIPTION: self.ACCOUNT_DESCRIPTION, 
       OPENING_BALANCE: self.OPENING_BALANCE, 
       ACCOUNT_DATE: self.ACCOUNT_DATE, 
       MAIN_ACCOUNT: self.MAIN_ACCOUNT, 
       SUB_ACCOUNT: self.SUB_ACCOUNT, 
       CONTROLL_ACCOUNT: self.CONTROLL_ACCOUNT, 
       SUBSIDERY_ACCOUNT: self.SUBSIDERY_ACCOUNT, 
       ACCOUNT_TYPE: self.ACCOUNT_TYPE, 
       VOUCHING_ACCOUNT: self.VOUCHING_ACCOUNT 
      }; 

와 내가 같이 위의 JS 객체를 보낼 아약스 기능을 다음과 같은 사용하고이 들어있는 다음 JS 개체가 JSON 문자열을 MVC의 내 컨트롤러로 보내 데이터를 데이터베이스에 저장합니다.

self.submitCOA = function() {       
       $.ajax(    
        { 
         type: "post", 
         url: "/ChartOfAccounts/Create",       
         contentType: "application/json", 
         dataType: "json", 
         data: ko.toJSON(COAData), 
         success: function (data) { 
          alert("New Accoungt with Account #" + self.ACCOUNT_CODE(data.ACCOUNT_CODE) + "added successfully"); 
          //GetChartOfAccounts(); 
         },//success function end 
         error: function (error) { 
          alert(error.status + "<!----!>" + error.statusText); 
         }//error function end 
        } 
        );//ajax function end 
      }; 

디버깅하는 동안, 나는 ko.toJSON는 JSON 문자열로 JS 개체 (COAData를) 변환하지 않았 음을 알게되었다. 대신 빈 문자열이 contrller에 전달됩니다.

도움이 필요하십니까? self.ACCOUNT_CODE이 (()로) 당신이 self.ACCOUNT_CODE()를 작성해야 관측 등 경우

+0

어쩌면 ko.toJSON (새 COAData) –

답변

0

또한, 대신 ko.toJSONko.toJS를 사용해보십시오.

관련 문제