Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/397.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Django:如何在AJAX POST请求中检索两个不同变量的值?_Javascript_Jquery_Django_Ajax - Fatal编程技术网

Javascript Django:如何在AJAX POST请求中检索两个不同变量的值?

Javascript Django:如何在AJAX POST请求中检索两个不同变量的值?,javascript,jquery,django,ajax,Javascript,Jquery,Django,Ajax,我试图将两个不同下拉列表中的两个值发送到Django视图,但它不起作用。只有第一个下拉值被发送到视图 假设我有以下观点: def MyView(request): if request.method == 'POST' and request.is_ajax: result_1 = request.POST.get('d1') print(result_1) result_2 = request.POST.get('d2')

我试图将两个不同下拉列表中的两个值发送到Django视图,但它不起作用。只有第一个下拉值被发送到视图

假设我有以下观点:

def MyView(request):

    if request.method == 'POST' and request.is_ajax:

        result_1 = request.POST.get('d1')
        print(result_1)
        result_2 = request.POST.get('d2')
        print(result_2) 
这是html代码:

<script type="text/javascript">
  function dropdownChange () {
    var selectedRegion = $(".toChange option:selected").val();
    $.ajax({
            url: '/myApp/templates/',
            type: 'POST',
            data: {'d1': selectedRegion},
            }
    }); 
}
$(".toChange").change(dropdownChange);
</script>

  <select name="d1" class="toChange">
    <option val="1"> 1 </option>
    <option val="2"> 2 </option> 
  </select>

 <select name="d2">
    <option val="3"> 3 </option>
    <option val="4"> 4 </option> 
  </select>

函数下拉更改(){
var selectedRegion=$(“.toChange选项:selected”).val();
$.ajax({
url:“/myApp/templates/”,
键入:“POST”,
数据:{'d1':selectedRegion},
}
}); 
}
$(“.toChange”).change(dropdownChange);
1.
2.
3.
4.

当下拉列表d1面临更改时,我希望d1和d2的值都发送到我的视图中。d1的值已正确捕获,但d2(因此结果_2)显示“[]”。如何捕获这两个变量?

只需将其添加到数据变量中:

var selectedRegion = $(".toChange option:selected").val();
var selectedRegion2 = $("select[name=d2] option:selected").val();
$.ajax({
    url: '/myApp/templates/',
    type: 'POST',
    data: {'d1': selectedRegion, 'd2': selectedRegion2},           
}); 

不幸的是,print(result_2)仍然返回一个空列表。你知道什么是错误的吗?你在第二个选择框中选择了任何值吗?好的,它现在似乎起作用了,尽管它与我预期的不完全一样,因为在我的代码中,下拉列表1的更改更改了下拉列表2,但发送到我视图的是d2的旧值,而不是新值。无论如何谢谢你!伟大的你可以针对那个案例单独提出一个问题。我在这个问题上没有看到代码是的,我会先调查一下,如果我被卡住了,我会发布一个新问题。谢谢