JS 및 서버 측에서 AJAX 호출을 통해 복합 JSON 구조를 전달하는 방법을 파이썬에서 "매우 비슷한"데이터 구조로 읽으십니까?Django : QueryDict에서 JSON 객체 배열 읽기
나는 json 포맷팅 (simplejson 등)을 사용할 수 있다는 것을 알고 있지만 어떻게 든 QueryDict 자체가 기형이거나 내 경우에 재 포맷 된 것으로 느낀다.
예 :
JSON 오브젝트의 배열을 통과 [{ "ID"1}, { "ID"2}, { "ID"3}] 장고 뷰 AJAX 통해 상기 QueryDict 형식 :
POST:<QueryDict: {u'json_data[0][id]': [u'1'], u'type': [u'clone'],
u'csrfmiddlewaretoken': [u'69bb3c434ced31ab301ede04bf491ec0'],
u'json_data[1][id]': [u'2'], u'json_data[2][id]': [u'3']}>
json_data를 반복하는 방법은 무엇입니까? 나는 사전으로 QueryDict에 액세스하고 특정 순서로 목록 및 프로세스를로 json_data 검색 할 수 있도록
POST:<QueryDict: {u'json_data': [{u'id': [u'1']}, {u'id': [u'2']}, {u'id': [u'3']}]},
u'csrfmiddlewaretoken': [u'69bb3c434ced31ab301ede04bf491ec0'], u'type': [u'clone']>
:
내가 대신 이렇게 뭔가를 얻으려면 어쩌면 그냥 순차적으로 그들을 통해 반복 목록 순서. 뭔가 같은 :
사실ret = request.POST
for item in ret['json_data']:
process(item['id'])
과정 (에 들어가는 값)
자바 스크립트 키 값 쌍의 다른 사전 대신 단지 숫자 (1,2,3 등)이 될 수 :
var test = [{"id": 1},{"id": 2},{"id": 3}];
$.post(
"/insert_tc",
{
json_data: test,
"type": 'clone',
"csrfmiddlewaretoken": $csrf_token
},
function(json) {
//CALLBACK
},
"json"
);
views.py :
def insert_tc(request):
if request.method == 'POST':
ret = request.POST
type = ret['type']
list = ret.getlist(ret)
그러나 목록이 비어 []
내가 시도 simplejson을 반환은로드, 항목, 방법을 얻을 수 있지만, 그들 중 누구도 도움이되지, 덤프합니다.
jQuery.param (obj, true)도 시도해 보았습니다.하지만 원하는 것은 아닙니다 (어느 정도 가까운 편이지만).
Django < -> JS에서 AJAX를 통해 복합 데이터 구조를 앞뒤로 전달할 수있는 다른 방법이 있습니까?
뭔가 확실히 잘못된 것입니다. 제발 그걸 출력 정확한 코드를 게시 할 수 있습니까? –
JS 코드가 정확할 까봐 두렵습니다. 내가 JS snippet과 작은 크기의 서식으로 views.py의 인쇄 요청 출력을 붙여 넣었다. 'test'는 내가 지나가고있는 객체의 배열입니다. – rajivRaja
죄송합니다, 실수. 아래 내 대답을 참조하십시오. –