Сайт колбы;повторно использовать функцию Javascript / Ajax для различных элементов (MacOS Mojave) - PullRequest
0 голосов
/ 26 декабря 2018

Я не слишком знаком с Javascript / ajax, но я нашел фрагмент кода, который работает на моем сайте фляги.

  <script type=text/javascript>
          $(function() {
            $('a#test1').bind('click', function() {
              $.getJSON('/say1',
                  function(data) {
                //do nothing
              });
              return false;
            });
          });
  </script>

В моем файле app.py есть функция декоратора, связанная с функцией JS / Ajax:

@app.route('/say1')
def say1():
    print("background test pass")
    os.system('say -r 100 "I am a robot"')
    return("hello")

При нажатии на изображение JS фиксирует щелчокпо id, в этом случае id = test1, и выбирает функцию python и выполняет код (как я уверен, это очевидно).

<a href=# id=test1><img id=test class="img-fluid" alt="Responsive image" src="static/macban.jpg"></a>

Это прекрасно работает, но теперь я хочу добавить несколько изображений и повторно использовать как функцию python, так и функцию Ajax / js для разных идентификаторов изображений.Во всяком случае, повторное использование функции JS было бы хорошо.Я знаю, что 'a # test' - это то, что выбирает, какое изображение нажимается, а $ .getJSON ('/ say1') - это путь к функции python, но я не нашел способа изменить это в зависимости отнажмите кнопку.Сейчас я прибегнул к репликации функции (она выглядит занятой и очень неэффективной).

Мой конкретный вопрос: как заменить строку 'a # test1' и '/ say1' на id изображений при нажатии на элемент?И если я создам некоторую логику if / elif, чтобы решить, на какой щелкнуть, это должно быть в разделе Javascript или Python?

Если есть лучший способ сделать это, не стесняйтесь критиковать меня, так как яЯ новичок в кодировании вообще.О, и я знаю, что os.system () опасно для выполнения на стороне сервера, но это будет (пока) локально размещенный сайт в защищенной сети.Если есть лучший способ активировать команду Mac «сказать» из браузера, я также открыт для более совершенных идей.

Спасибо

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...