簡體   English   中英

Django 檢索 Ajax POST 請求發送的復選框值

[英]Django retrieve checkbox values sent by Ajax POST request

我正在嘗試通過 Javascript Ajax 請求特定復選框值,但在服務器上我讀取 None 值,將表單數據發送到 Django 服務器。 這是讀取的服務器代碼:

@csrf_protect
def order_pizza(request):
    if request.is_ajax() and request.method == "POST":
        topps = Topping.objects.all()
        for topp in topps:
            mytop = request.POST.getlist('topping')
            print(f"topp is {topp.__str__()} mytop is {mytop}")
    return HttpResponse("pizza order!!")

這是表格的 html:

<form id="form_pizza_order" class="form_pizza_order" method="post">
        {% csrf_token %}
        <div class="row">
          <div class="order_topp_col col-12">
            <header> Topping </header>
            {% for topp in toppings %}
            <input type="checkbox" id="{{ topp.name }}"  name="topping" value="{{ topp.name }}">
            <label for="{{ topp.name }}"> {{topp.name}}</label>
            {% endfor %}
          </div>
...

打印 function 返回結果:

topp is Pepperoni mytop is []
topp is Sausage mytop is []
topp is Mushrooms mytop is []
topp is Onions mytop is []
topp is Ham mytop is []
etc ...

我必須做什么才能讀取復選框值? 謝謝。

我在 javascript 向服務器發送表單數據時出錯。

我使用const FD = new FormData();

現在我意識到應該使用:

  let myform = document.getElementById("form_pizza_order");
    const FD = new FormData(myform);

現在數據已填充到服務器。

暫無
暫無

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

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