Я не слишком знаком с 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 «сказать» из браузера, я также открыт для более совершенных идей.
Спасибо