簡體   English   中英

如何將選定的值發送到 django?

[英]how to send the selected value to django?

我嘗試使用 ajax 和 django 實現一個搜索按鈕,我將所選值發送到服務器,但我無法從 select HTML 標簽中獲取所選值,變量值始終為空 ({"obj":""} ) ??

HTML :

div class="col-2">

   <label style="color : white;">Title</label>

             <select name="da" id="da" class="form-control da">
                 <option selected></option>
                        {% for obj in ds %}
                 <option  value="{{obj}}">{{obj}}</option>
                         {%endfor%}

             </select>
         <button type="submit" class="btn btn-warning btn-lg search">ajax</button>

</div>

阿賈克斯:

var value = $('#da').val();
console.log(value)

$(document).ready(function() {
      $('.search').click(function(){
 var csrftoken = $('[name="csrfmiddlewaretoken"]').val();
      $.ajax({
               type: "GET",
               url: '/search/ajax/',
               data: JSON.stringify({'obj' : value}),
                headers: {
                'Accept': 'application/json',
                'Content-Type': 'application/json',
                "X-CSRFToken": csrftoken
            },

               success: function(response) {
               do somthing ......

                },
                error: function(rs, e) {
                       alert(rs.responseText);
                }
          });
    })
    });


查看.py

def filter_ajax(request):
  if request.method == 'GET':

      value = request.GET.get('obj')
      print(value)

您必須在單擊時設置value變量。 另外,我對 Django 不太熟悉,但是你需要JSON.Stringify嗎?

 var value; $(document).ready(function() { $('.search').click(function() { value = $('#da').val(); // Set here var csrftoken = $('[name="csrfmiddlewaretoken"]').val(); $.ajax({ type: "GET", url: '/search/ajax/', data: JSON.stringify({ 'obj': value }), headers: { 'Accept': 'application/json', 'Content-Type': 'application/json', "X-CSRFToken": csrftoken }, success: function(response) { do somthing...... }, error: function(rs, e) { alert(rs.responseText); } }); }) });

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM