Как показать результаты поиска db.query на той же странице в python - PullRequest
0 голосов
/ 25 февраля 2020

У меня есть страница html (searchCustomer. html), в которой есть поле ввода, где мы вводим строку для поиска в базе данных, записи извлекаются успешно, после того, как мы нажимаем кнопку поиска и отображаются в html. Я хочу показать подробную информацию о записи, по которой щелкали в html, когда первый столбец (который является href) нажимается на той же странице (searchCustomer. html)

<form action="/getsearchresults" method="post">
          <!-- <form action="/getsearchresults" method=  methods=['GET', 'POST'] > -->
          <Text  text="Customer Name" id="text0"/>
          <Input width="200px"  name="custName"  required  placeholder="Please enter the customer name"/>
          <button type="submit">Search Customer</button>
          <button  id="#btnID">TEst Customer</button>


</form>

<table border="1">
    <tr><td><strong>Customer Id</strong></td><td><strong>Name</strong></td></tr>
     {% for name1 in customers %}
     <tr><td><a href="/DispCustomerInfo?query={{ name1.name }}">{{name1.id}}</a></td><td>{{name1.name}} 
      </td></tr>
     {% endfor %}
</table>

при нажатии. я хочу показать детали этой записи на той же странице

1 Ответ

0 голосов
/ 25 февраля 2020

Вот возможное решение

from flask import request, jsonify

@app.route('/DispCustomerInfo')
def get_customer_info():
    name = request.args.get('query', False)
    customer = {}
    if name:
        #1 Query database
        #2 Assign result to customer
    return jsonify(customer)

На лицевой стороне используйте Ajax для получения данных клиента.

<td><a class="customername" href="#" data-name="{{ name1.name }}">{{name1.id}}</a></td>
$( document ).ready(function() {
    $(".customername").on('click', function(){
       var name = $(this).data('name');
       $.get("/getReport", {'query': name}).done(function (data) {
           // Use jquery to append customer data to a DOM element.
       });
    });
});

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