2013-08-03 1 views
2

가 잠시 동안 이것에 부착 된 목록입니다 사전 반환하는 POST를 받고 :장고 - 값이

우리는 다음과 같이 그 위에 요리의 번호를 가지고 볼 수있어 :

spaghetti 
tacos 
burger 

사용자는 각 요리, 학년 및 의견과 관련된 두 가지 정보를 입력 할 수있게하려고합니다.

spaghetti: 20, "tasty" 
tacos: 10, "nasty" 

그러나 예를 들어, 우리는 등급 및 주석의 입력 상자를 제공 할 수있는 방법을 찾을 수 없습니다 값이 목록이있는 곳 같은 이름이 그래서 우리는 POST 사전을 다시 얻을 것 자체 : 우리는 HTML 폼의 입력 상자 주석 상자 모두 "스파게티"이름을 경우

spaghetti: [20,"tasty"] 
tacos: [10, "nasty"] 

은 다음 POST는 주석 인 두 번째 일을 추적하고 성적이 완전히 손실, 그래서 우리 모두가 돌아 오기 is :

spaghetti: "tasty" 
tacos: "nasty" 

우리가 뭘 잘못하고 있는지 알려주세요 !!

감사합니다.

답변

0

불행히도 각 학년과 의견에 다른 ID를 사용하고 데이터를 형식화하기 위해 서버 측 구문 분석을 수행해야합니다. 클라이언트 쪽 파싱을 수행하고 $ .post를 사용하여 JSON 데이터를 서버로 보낼 수 있습니다. 나는 두 번째 옵션에 대해 솔직히 기대하고 있지만 서버 측 유효성 검증/데이터 위생 처리를해야합니다. 두 번째 옵션에 갈 경우

, 당신은 이런 식으로 뭔가를 할 수 :

<div id='spaghetti'> 
    <input field-type='grade' /> 
    <input field-type='comment' /> 
</div> 

<script> 
    $(document).ready(function() { 
    $('input[type=submit]').click(function() { 
     var data = {} 
     var grade = $('#spaghetti').children('input[field-type=grade]').first().val(); 
     var comment = $('#spaghetti').children('input[field-type=comment]').first().val(); 
     data['spaghetti'] = [grade, comment]; 
     $.post('url', data); 
    } 
    } 
+0

이 제안 및 예제 코드 주셔서 감사합니다! 오늘 그걸 가지고 놀아요. –

0

형태로 이름을 하나 spaghetti_grade 및 다른 스파게티 _ 등급. 그럼 당신은 사용하여 액세스 할 수 있습니다 : 당신이 목록에 대한 필요없이 모두를 얻을 수

request.POST.get('spaghetti_grade','')

request.POST.get('spaghetti_taste','')합니다. 그런 다음 다른 음식에 대해서도 동일한 작업을 수행 할 수 있습니다.

관련 문제