2014-05-22 7 views
0

간단한 아약스 요청을합니다. 코드는 다음과 같습니다. "'cd_nm':'farm','cd_nm':'server','cd_nm':'cpu_num','cd_nm':'mem_size','cd_nm':'user_hdd','cd_nm':'net_sprt','cd_nm':'net_type'}"

하지만 컨트롤러 (봄 3.1), 을 내가 요청, 그들은 다음과 같은 에서 그 값을 얻을 경우 :

var paramObject = new Object(); 
    paramObject.cd_nm01 = 'farm'; 
    paramObject.cd_nm02 = 'server'; 
    paramObject.cd_nm03 = 'cpu_num'; 
    paramObject.cd_nm04 = 'mem_size'; 
    paramObject.cd_nm05 = 'user_hdd'; 
    paramObject.cd_nm06 = 'net_sprt'; 
    paramObject.cd_nm07 = 'net_type'; 

    var codes = JSON.stringify(paramObject); 

    $.ajax({ 
     type: 'POST', 
     async: false, 
     cache: true, 
     dataType: 'json', 
     beforeSend: function(xhrObj){ 
     xhrObj.setRequestHeader("Content-Type", 'application/x-www-form-urlencoded;  charset=UTF-8'); 
     }, 
     url: '/common/getCodes', 
     data: { 
     'jParam' : codes 
     }, 
     success: function(data, status ,xhr) { 
     console.log(data); 
     }, 
     error: function(xhr){ 
     } 
    }); 

나는이의 데이터를 전송합니다.

%7B%22cd_nm01%22%3A%22farm%22%2C%22cd_nm02%22%3A%22server%22%2C%22cd_nm03%22%3A%22cpu_num%22%2C%22cd_nm04%22%3A%22mem_size%22%2C%22cd_nm05%22%3A%22user_hdd%22%2C%22cd_nm06%22%3A%22net_sprt%22%2C%22cd_nm07%22%3A%22net_type%22%7D 

이 문제를 어떻게 해결할 수 있습니까?

답변

0

귀하의 요청은 단지 인코딩 된 URL 일뿐입니다. 디코딩하면 다음과 같습니다.

{ "cd_nm01": "farm", "cd_nm02": "서버", "cd_nm03": "cpu_num", "cd_nm04": "mem_size", "cd_nm05": "user_hdd", "cd_nm06": "net_sprt", "cd_nm07": "net_type"}

저에게 유효한 json처럼 보입니다. 데이터를 보내려는 양식이 제대로 보이지 않습니다. 큰 따옴표를 사용하지 않고 작은 따옴표를 사용하려고합니다. 01, 02, 03 접미어를 원하지 않으면 JSON.stringify 메소드를 변경하여 객체 대신 문자열 배열을 허용해야합니다.

+0

답변 해 주셔서 감사합니다. 귀하의 조언을 통해 이러한 문제를 해결하려고 노력할 것입니다. – user3663987