У меня есть динамическая таблица со студентами, основанная на блоке класса.То есть в таблице есть список учеников в каждом блоке периода.HTML-код, который динамически создает это,
html += "<tr>"+
"<td class='align-middle'><input type='checkbox' class='form-check' style='width:50px;height:50px;'></td>"+
"<td class='align-middle'><input type='image' onclick='StudentClicked(\""+item.FirstName+"\",\""+item.LastName+"\",\""+item.Suffix+"\",\""+item.NickName+"\")' src="+path+" onError='StudentImageError("+i+")' id='studentimage"+i+"' height='100'></td>"+
"<td class='align-middle'>"+item.FirstName +" "+item.LastName+"</td>"+
"<td class='align-middle'></td>"+
"<td class='align-middle'>0</td>" +
"<td class='align-middle'>0</td>"+
"</tr>"
Поэтому, когда пользователь щелкает изображение, вызывается StudentClicked.
function StudentClicked(FirstName, LastName, Suffix, NickName){
$.getJSON('/studentSelected',
{firstName: FirstName, lastName: LastName, suffix: Suffix, nickName: NickName},
function(data){})
}
Идея в том, что я хочу щелкнуть ссылку на изображение, и getJSON будет искать мой app.route ("/ studentSelected").Я выполню вызов базы данных с переменными, которые я передал этому маршруту, и создам объект.Я хочу передать этот объект на HTML-страницу.Вот код Python для app.route
@app.route('/studentSelected', methods=['GET','POST'])
def studentSelected():
firstName = request.args.get('firstName', 0, type=str)
lastName = request.args.get('lastName', 0, type=str)
suffix = request.args.get('suffix', 0, type=str)
nickName = request.args.get('nickName', 0, type=str)
students = []
con, cur = ConnectToDatabase()
SQL = "select * from students where FirstName = ? and LastName = ? and Suffix = ? and NickName = ?"
entities = (firstName, lastName, suffix, nickName)
student, cur = Execute(SQL, cur, entities)
return render_template('studentcard.html', student=student)
В настоящее время я получаю «Метод не разрешен. Метод не разрешен для запрошенного URL».который я интерпретирую, потому что я не передаю правильный путь к моему маршруту.Но, как вы можете, я могу передать оба метода на мой маршрут.Зачем еще я получаю эту ошибку?studentcard.html существует в шаблонах папок.
Одно из предположений, которое у меня есть, заключается в том, что оператор return возвращает функциональность функции getJSON.
Какая стратегия лучше для такого типа процессов?Конечным результатом является нажатие на изображение для запуска app.route, вызова базы данных и перенаправления веб-приложения на новый маршрут для studentSelected и загрузки и запуска этой страницы.
содержимое studentcard.html
{% extends 'layout.html' %}
{% block body %}
<div class="container mt-3">
{% from "includes/_formhelpers.html" import render_field %}
</div>
{% endblock %}