2013-11-14 2 views
1

내 AJAX 게시 통화에서 (Chrome 네트워크 헤더 세부 정보에서 볼 때) 데이터를 이와 같이 형식화해야합니다. 이는 서버 측에서 기대하는 바입니다. 데이터가 현재 나는 현재이 같은 데이터를 포맷하고이AJAX 게시물의 데이터 형식

percentages[0][Id]:7 
percentages[0][Percentage]:26.1 
percentages[1][Id]:8 
percentages[1][Percentage]:20.3 

같은 포맷,

percentages[0].Id:7 
percentages[0].Percentage:26.1 
percentages[1].Id:8 
percentages[1].Percentage:20.3 

을하지만 :이 같은 데이터를 포맷 아래의 JS를 업데이트 할 수있는 방법 : 문제는 JS I는 AJAX로 보내지 전에 data 변수 (크롬 콘솔에 기록) 데이터 등이 보유

var params = {}; 
var dict = []; 
for (var idx in data) { 
    var item = { 
     Id: idx, 
     Percentage: data[idx] 
    }; 
    dict.push(item); 
} 
params['percentages'] = dict; 

:

를사전에 17,451,515,
Object {7: "26.1", 8: "20.3"} 

감사

편집 : @Bogangles 요청에 응답
: 나는 .NET 내가 채우기 위해 노력하고있어 구조를 사용하고하는 것은 :

IEnumerable<PercentageViewModel> percentages 

PercentageViewModel입니다 :

public class PercentageViewModel 
{ 
    public int Id { get; set; } 
    public string Percentage { get; set; } 
} 
+0

여기에 어떤 차이가 있는지 잘 모르겠습니다. 서버 언어의 관점에서 원하는 데이터의 예를 들려 줄 수 있습니까? – Bojangles

+0

나는 그것이 콘솔에서 어떻게 포맷되는지에 관한 문제라고 생각한다. 의미 상으로 둘 사이에는 차이점이 없습니다. "실제"트래픽 (네트워크 탭, '원시보기'와 같은 것)을보아야합니다. – hgoebl

+0

아, JSON 개체와 통신하지 않지만 www-form-urlencoded를 사용 하시겠습니까? – hgoebl

답변

0

이것은 서버 측 데이터 구조가 제대로 채워질 것입니다.

var i = 0; 
for (var idx in data) { 
    params['percentages[' + i + '].Id'] = data[idx].Id; 
    params['percentages[' + i + '].Percentage'] = data[idx].Percentage; 
    i++; 
} 
관련 문제