Ajax没有发布选择选项

时间:2017-12-06 19:53:31

标签: ajax django

我正在尝试在我的模板中获取名为exampleid的选项的值。我已经按照我在网上找到的几个例子,但似乎没有任何效果。我的模板下面有ajax和jquery来获取值但是当我尝试打印它时返回None。我已经耗尽了我的资源,我的教授似乎也不知道,他正在“调查”。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<select title ="accesslevelid" class="form-control" id="accesslevelid" onchange="accesslevelid" title="">
            <option value="7"> Option 1</option>
            <option value="5"> Option 2</option>
            <option value = "3"> Option 3</option>

</select>
<script>
$(document).ready(function () {
    $('#accesslevelid').on('change', function () {
        var accesslevelid = $(this).val();
        $.ajax({ url: "{% url 'submitted' %}",
                headers: { 'X-CSRFToken': '{{ csrf_token }}' },
                data: {
                  accesslevelid: accesslevelid,
                },
                type: 'POST',
                success: function (result) {
                  alert(result);
                },
              });
      });
  });
</script>

我的观点试图检索帖子的值。

exampleidpost = request.POST.get('accesslevelid', False)
print (exampleidpost)

我想要的结果是POST返回7,5或3。

1 个答案:

答案 0 :(得分:1)

您应该将 csrf令牌添加到您的ajax请求中, 试试这种方式。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
<select title="accesslevelid" class="form-control" id="accesslevelid" >
    <option value="1"> Option1</option>
    <option value="2"> Option2</option>
    <option value="3"> Option3</option>
</select>

<script>
$(document).ready(function () {
    $('#accesslevelid').on('change', function () {
        var accesslevelid= $(this).val();
        $.ajax({ 
             url: "{% url 'submitted' %}",
             headers: {'X-CSRFToken': '{{ csrf_token }}'},
             data: {
                 accesslevelid: accesslevelid
             },
             type: 'POST',
             success: function (result) {
               alert(result);
             },
        });
    });
});
</script>

你不再需要表格。