0

このデータを POST で django ビューに渡しました。

var jobj = [];

$('.some_class').each(function(){
                var ro = $('#some_id').html();  //html() output is number
                var nr = $('#something').html(); //html() output is number
                var item = {};
                  item["prog"] = ro;
                  item["act"] = nr;                    
                  jobj.push(item);
                 });
            arr = JSON.stringify(jobj);

     ajax_req = $.ajax({
     url: '../some_url/',
     type: "POST",
     data: {req_arr : arr},
     });

データは次のようになります。

req_arr = [{"prog" : "1", "act" : "0"}, {"prog" : "2", "act" : "0"}, (...)]

ビューで、渡されたデータをループしてアクセスし、SQLで何かをしたい:

def some_url(request):

if request.method == 'POST':
    arr = request.POST['req_arr']
    for data in arr:
        prog = data['prog']
        act = data['act']
        (...) some sql stuff like SomeModel.objects.get(name=prog) (...)

    return HttpResponse(status=200)

Python 辞書と同じように、単一の値とキーにアクセスする方法がわかりません。

4

1 に答える 1

1

これは非常に古いものですが、この正確な問題を探していることに気づきました...

少し信頼性が低いと感じますが、機能する方法を見つけました

Javascript:

var rows = [];
$('.some_class').each(function(){
    var id = $(this).attr('data-id');
    var something = $(this).attr('data-something');
    var item = {};

    item["id"] = id;
    item["something"] = something;                    
    rows.push(JSON.stringify(item));
});

arr = rows.join("/");

ajax_req = $.ajax({
    url: '../some_url/',
    type: "POST",
    data: {req_arr : arr},
});

ビュー.py

items = request.POST.get('req_arr', None)
items = str(items).split("/")

for i in range(0, len(items)):
    item = json.loads(items[i])
    id = item['id']
    something = item['something']
于 2013-09-27T11:23:24.397 に答える