Django에서 처리해야하는 Ajax 요청을 만들었습니다.
var tracks = [{'artist':'xxx', 'track':'yyy', 'duration':100},
{'artist':'xxx', 'track':'yyy', 'duration':100},
{'artist':'xxx', 'track':'yyy', 'duration':100}];
$.ajax({
type: 'GET',
url: ROOT_URL + '/snv/',
data: {tracks: tracks},
dataType: 'json'
}).done(function (data) {
// do something
}).fail(function (data) {
// do something else
});
해당 데이터를 검색하는 Python 함수가 있습니다.
def snv(request):
for track in request.GET:
print track
그러나이 함수는 다음과 같이 인쇄합니다.
tracks[1][artist]
tracks[0][track]
tracks[0][duration]
tracks[2][artist]
tracks[1][track]
tracks[1][duration]
tracks[2][duration]
tracks[0][artist]
tracks[2][track]
인쇄 request.GET
하면 다음과 같이 표시됩니다.
<QueryDict: {u'tracks[1][artist]': [u'Artist 02'], u'tracks[0][track]': [u'title 00'], u'tracks[0][duration]': [u'202'], u'tracks[2][artist]': [u'Artist 04'], u'tracks[1][track]': [u'title 02'], u'tracks[1][duration]': [u'506'], u'tracks[2][duration]': [u'233'], u'tracks[0][artist]': [u'Artist 00'], u'tracks[2][track]': [u'title 04']}>
내 개체를 올바르게 처리하는 방법은 무엇입니까?
좋아, 다음과 같이 해결했습니다.
POST로 GET에서 내 Ajax 요청을 변경,
다음 이 , CSRF_token을 얻기 위해
사용 이 내 개체를 구문 분석하는 파서를,
그리고 마지막으로 내 파이썬 기능을 변경 :
from django.views.decorators.csrf import csrf_exempt
@csrf_exempt
def startNewVoting(request):
from querystring_parser import parser
p = parser.parse(request.POST.urlencode())
for key, track in p['tracks'].iteritems():
print track
# save to db...
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다