Как бороться со списками в AJAX? - PullRequest
0 голосов
/ 21 февраля 2019

У меня есть HTML-файл, который принимает входные данные:

<input type="text" class="form-control" name="TP" id="TP" value="[8,9]"  style="text-align:center" placeholder="Enter true positive value."/> 
<input type="text" class="form-control" name="FP" id="FP" value="7"  style="text-align:center" placeholder="Enter false positive value."/>
<input type="text" class="form-control" name="FN" id="FN" value="6" style="text-align:center" placeholder="Enter false negative value."/>
<input type="text" class="form-control" name="TN" id="TN" value="5" style="text-align:center" placeholder="Enter true negative value."/>

У меня есть AJAX-скрипт, который берет эти входные значения из документа HTML и отправляет входные данные в функцию Python:

$(document).ready(function() {
     $('form').on('submit', function(event) {
       $.ajax({
          data : {
             truePositive : $('#TP').val(),
             falsePositive : $('#FP').val(),
             falseNegative : $('#FN').val(),
             falsePositive : $('#FP').val(),
                 },
             type : 'POST',
             url : '/out'
            })
        .done(function(data) {
          $('#output').text(data.output).show();
      });
      event.preventDefault();
      });
});

Мой вопрос: как AJAX знает, что один из моих входных данных - это список, а не целое число?например,

<input type="text" class="form-control" name="TP" id="TP" value="[8,9]"  style="text-align:center" placeholder="Enter true positive value."/> 

Ответы [ 2 ]

0 голосов
/ 21 февраля 2019

Аякс не знает, что это список, даже не целое число, он просто передает его как строку.Он находится в коде, где вы должны получить это значение и проанализировать его как список (или класс), чтобы иметь возможность работать с ним таким образом.

0 голосов
/ 21 февраля 2019

При получении строки в python вы можете разобрать ее в массиве:

arr_received = "[8, 9]"
arr_to_be_parsed = arr_received[1:-1]
# "8, 9"
arr_parsed = arr_to_be_parsed.split(',')
# ['8', '9']

Или в один слой:

arr = arr_received[1:-1].split(',')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...