2011-09-07 7 views
1

질문이 있습니다.json 형식 조정 extjs 양식으로 보내기

내 백엔드 서비스에 json 형식을 보내야합니다. 내가 만들지 못했던 무언가가 필요합니다. 내가 뭘 형태로 보내고하는 것은 이것이다 :

{ 
"jobs": { 
    "name": "dsvs", 
    "jobType": "CUSTOM", 
    "description": "sdvsdv", 
    "tasks": "14,15,16" 
} 
} 

하지만 내가 보내야하는 것은 내가이 작업을 수행 할 수있는 방법을

{ 
"jobs": { 
    "name": "dsvs", 
    "jobType": "CUSTOM", 
    "description": "sdvsdv", 
    "tasks": [14,15,16] 
} 
} 

입니까?

handler: function() { 
        var form = this.up('form').getForm(); 
        var formData = Ext.encode(form.getValues()); 
        Ext.Ajax.request({ 

         url: ND.url + 'dna/rjs/secure/service/rest/jobs.json', 
         method: 'POST', 
         waitTitle: 'Connecting', 
         waitMsg: 'Sending data...', 
         jsonData: { 
          jobs: form.getValues() 
         } 


          }); 


        }) 

나는 사람이 아이디어를 가지고 희망 :

이 내 양식 처리기입니다!

답변

1

"정직한"방법으로는 할 수 없습니다.

그러나 해킹 할 수 있습니다.

handler: function() { 
        var form = this.up('form').getForm(); 
        var formData = Ext.encode(form.getValues()); 
        formData.jobs.tasks = formData.jobs.tasks.split(','); 
        Ext.Ajax.request({ 

         url: ND.url + 'dna/rjs/secure/service/rest/jobs.json', 
         method: 'POST', 
         waitTitle: 'Connecting', 
         waitMsg: 'Sending data...', 
         jsonData: { 
          jobs: formData 
         } 
        }); 
}) 

예를 들어 BTW가 있음에도 불구하고 formData을 사용하지 마십시오. 당신이 더 각 작업 값에 parseInt를 호출하여 해킹 할 수있는 것보다 즉, 아직 적합하지 않은 경우

{ 
"jobs": { 
    "name": "dsvs", 
    "jobType": "CUSTOM", 
    "description": "sdvsdv", 
    "tasks": ["14","15","16"] 
} 
} 

: 초래

.

편집 :

추가의 설명.

+0

처리기에 넣어야합니까? –

+0

답변에서 편집을 참조하십시오. – ZenMaster

+0

ZenMaster에게 감사드립니다. 이것은 내 문제에 대한 해결책처럼 들린다. 하지만 나는 뭔가 잘못하고 있다고 생각합니다. 내가 계속 : formData.jobs 정의되지 않았습니다 –