Django: Как получить в запросе AJAX POST значение двух разных переменных? - PullRequest
2 голосов
/ 10 марта 2020

Я пытаюсь отправить на мой 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>

Когда раскрывающийся список d1 сталкивается с изменением, я хочу, чтобы значения d1 и d2 были отправлены в мое представление. Значение d1 записано правильно, но d2 (поэтому result_2) показывает «[]». Как я могу захватить две переменные?

1 Ответ

2 голосов
/ 10 марта 2020

Просто добавьте его в переменную данных:

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},           
}); 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...