#python #web #autocomplete #handsontable
Вопрос:
Я следую за демонстрацией handsontable, как показано ниже по ссылке. Но это не работа. Я не знаю, что не так. https://handsontable.com/docs/8.3.2/demo-autocomplete.html#strict-ajax
main.py
from flask import Flask, render_template, jsonify, json, request, redirect
app = Flask(__name__)
@app.route('/')
def main():
return render_template('index.html')
if __name__ == '__main__':
app.run(debug=True)
templates/index.html
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/handsontable@8.3.2/dist/handsontable.full.min.js"></script>
<link href="https://cdn.jsdelivr.net/npm/handsontable@8.3.2/dist/handsontable.full.min.css" rel="stylesheet" media="screen">
</head>
<script>
function getCarData() {
return [
{car: "Mercedes A 160", year: 2017, price_usd: 7000, price_eur: 7000},
{car: "Citroen C4 Coupe", year: 2018, price_usd: 8330, price_eur: 8330},
{car: "Audi A4 Avant", year: 2019, price_usd: 33900, price_eur: 33900},
{car: "Opel Astra", year: 2020, price_usd: 5000, price_eur: 5000},
{car: "BMW 320i Coupe", year: 2021, price_usd: 30500, price_eur: 30500}
];
}
</script>
<body>
<div id="example3"></div>
<script>
var
container3 = document.getElementById('example3'),
hot;
hot = new Handsontable(container3, {
data: getCarData(),
colHeaders: ['Car', 'Year', 'Chassis color', 'Bumper color'],
columns: [
{
type: 'autocomplete',
source: function (query, process) {
$.ajax({
url: 'https://handsontable.com/docs/8.3.2/scripts/json/autocomplete.json',
dataType: 'json',
data: {
query: query
},
success: function (response) {
console.log("response", response);
process(JSON.parse(response.data)); // JSON.parse takes string as a argument
// process(response.data);
}
});
},
strict: true
},
{}, // Year is a default text column
{}, // Chassis color is a default text column
{} // Bumper color is a default text column
]
});
</script>
</body>
</html>
Результат, как показано ниже