Ben girdi değişiklikleri dinliyorumFlask Dinamik veri güncelleme i Google gibi bir şey yaratmak için çalışıyorum
, (api http://suggestqueries.google.com/complete/search?output=toolbar&hl=ru&q=query önermek yoluyla) ve gönderme veri gitmek Aracı öner GET:
$("#search_form_input").keyup(function(){
var some_var = $(this).val();
$.ajax({
url: "",
type: "get", //send it through get method
data:{jsdata: some_var},
success: function(response) {
},
error: function(xhr) {
//Do Something to handle error
}
});
Bundan sonra
ben bu verilerin işlenmesi ve Google API göndermek ve Python yanıt aldı ediyorum: Jinja olarak
@app.route('/', methods=['GET', 'POST'])
def start_page_data():
query_for_suggest = request.args.get('jsdata')
if query_for_suggest == None:
suggestions_list = ['',]
pass
else:
suggestions_list = []
r = requests.get('http://suggestqueries.google.com/complete/search?output=toolbar&hl=ru&q={}&gl=in'.format(query_for_suggest), 'lxml')
soup = BeautifulSoup(r.content)
suggestions = soup.find_all('suggestion')
for suggestion in suggestions:
suggestions_list.append(suggestion.attrs['data'])
print(suggestions_list)
return render_template('start_page.html', suggestions_list=suggestions_list)
dinamik HTML olarak yazdırmaya çalışırken:
<label id="value_lable">
{% for suggestion in suggestions_list %}
{{ suggestion }}
{% endfor %}
</label>
Ancak Jinja'daki değişken dinamik olarak güncellenmiyor ve boş liste yazdırılıyor.
HTML'den dinamik olarak öneriler listeden nasıl yazdırılır?
sizin 'başarı:' işlevi boş Yani Flask'tan veri ile hiçbir şey yapmıyorsunuz. – furas
Düzeltmek için neye ihtiyacım var? –
AJAX/JavaScript'in nasıl çalıştığını bilmiyorum. JavaScript Flask'a veri gönderir, Flask bazı verileri geri gönderir - JSON kadar iyi - ve JavaScript bu verileri alır ve tarayıcıda HTML'i günceller. – furas