Python 如何从AJAX将服务器端的mySQL数据显示为HTML
我找不到很多关于这个的教程,大部分都是关于PHP的。我正在尝试使用PythonFlask、mySQL和Ajax创建一个具有自动完成功能的搜索栏。我已经准备好捕捉击键并从数据库中进行选择。之后,我无法在客户端显示这些内容 我尝试过使用部分页面,但这些都不会显示 server.py文件 index.htmlPython 如何从AJAX将服务器端的mySQL数据显示为HTML,python,mysql,ajax,flask,Python,Mysql,Ajax,Flask,我找不到很多关于这个的教程,大部分都是关于PHP的。我正在尝试使用PythonFlask、mySQL和Ajax创建一个具有自动完成功能的搜索栏。我已经准备好捕捉击键并从数据库中进行选择。之后,我无法在客户端显示这些内容 我尝试过使用部分页面,但这些都不会显示 server.py文件 index.html 使用引用ID,使用引用类名。在Jquery中。用“.”替换之前的国家/地区列表。谢谢,这并没有解决整个问题,但至少有一个输入错误。 @app.route("/search", methods=[
使用引用ID,使用引用类名。在Jquery中。用“.”替换之前的国家/地区列表。谢谢,这并没有解决整个问题,但至少有一个输入错误。
@app.route("/search", methods=['POST'])
def search():
output = ''
mysql = connectToMySQL("countries_db")
data_received = json.loads(request.data)
data = data_received['query']
var_data = '%' + data + '%'
mysqlQuery = "SELECT name FROM countries WHERE countries.name LIKE '%s' LIMIT 10;" %var_data
result = mysql.query_db(mysqlQuery)
output += '<ul class="list-unstyled">'
if len(result) > 0:
for country in result:
output += '<li>' + country["name"] + '</li>'
else:
output += '<li>Country Not Found</li>'
output += '</ul>'
return render_template("index.html", result=result)
<li class="search">
<div class="auto">
<img src="{{ url_for('static', filename='search.png') }}">
<input class="search-bar" type="text" id="country" name="country" aria-label="Search through site content"
placeholder="Search for a Country">
<div class="countryList">
{% for country in result %}
<p>{{country.name}}</p>
{% endfor %}
</div>
</div>
</li>
# Ajax
<script type="text/javascript">
$(document).ready(function () {
$('#country').keyup(function () {
var query = $(this).val();
if (query != '') {
$.ajax({
url: "/search",
method: "POST",
data: JSON.stringify({
query: query,
}),
dataType: "JSON",
contentType: 'application/json;charset=UTF-8',
success: function (data) {
data = data.data
$('#countryList').fadeIn();
$('#countryList').html(data)
},
dataType: 'text'
})
}
})
})