1. 程式人生 > >django通過json格式獲取複選框值並處理,後臺返回json字串給前端

django通過json格式獲取複選框值並處理,後臺返回json字串給前端

一、django通過json格式獲取複選框值並處理

1,前端程式碼

    <div class="col-md-10 text-left">
        {% for column in article_columns %}
        <label class="checkbox-inline" >
            <input class="tagcheckbox" type="checkbox" id="{{  column.id }} name="article_tag" value="{{ column.id }}">{{ column.id }}
        </label>
        {% empty %}
        <p>沒有標籤</p>
        {% endfor %}
    </div>

<script type="text/javascript" src="{% static "js/json2.js" %}"></script>
function publish_article(){
var article_tars = []; 
$.each($("input[name='article_tag']:checked"), 
function(){article_tags.push($(this).val());});
$.ajax({
    url: '{% url 'article:article_post' %}',
    type: 'POST',
    data: {'title': titleVal,'column_id':columnId,'body':bodyVal,'tags':JSON.stringify(article_tars)},
    success: function (e) {
        if (e == "1") {
            layer.msg("good");
        } else if(e == "2"){
            layer.msg("sorry");
        } else {
            layer.msg("專案名稱必須寫,不能為空。")
        }
    }
});

 

後臺程式碼:

import json
tags = request.POST['tags']
if tags :
    for atag in json.loads(tags):
        tag = request.user.tag.get(tag=atag)
#         其他處理程式碼xxxxxxxxx

二。後臺返回json字串給前端

方法1,、import json

data = {'anem':'xiaoxi','web':'django'}

return HttpResponse(json.dumps(data),content_type='application/json')

方法2:。

from braces.views import CsrfExemptMixin,JsonRequestResponseMixin))

class FooView(CsrfExemptMixin,JsonRequestResponseMixin)::

data = {'anem':'xiaoxi','web':'django'}

return self.render_json_response(data)