Bis jetzt habe ich es geschafft, eine Seite mit einem Textfeld und einer Schaltfläche zu erstellen. Sobald der Benutzer einen Text eingegeben und auf die Schaltfläche geklickt hat, wird das Ergebnis einer Suche (Datenbank) sowohl in der Konsole als auch in der Eingabeaufforderung angezeigt. Ich brauche den Code, um das Ergebnis in einem leeren <div id='empty'>
Mit JQuery Rendern in Flask App
@app.route('/search', methods=['POST'])
def search():
name = request.form['name'];
j=CARDS_COLLECTION.find({'name':"whatever"})
for k in j:
print k
print name
return json.dumps({'status':'OK','name':name});
@app.route('/page')
def page():
return render_template('page.html')
Dies ist das Skript auf dem seite.html ist
<script type="text/javascript">$(function() {
$('button').click(function() {
var name = $('#txtname').val();
$.ajax({
url: '/search',
data: $('form').serialize(),
type: 'POST',
success: function(response) {
console.log(response);
},
error: function(error) {
console.log(error);
}
});
});
});</script>
Danke für die Antwort, aber wenn ich etwas falsch verstanden, Ihren Code fügt auf der Seite denselben Text ein, den der Benutzer in das Feld eingegeben hat. Ich brauche es, um auf der Seite das Ergebnis der Suche einzufügen, die in der Funktion/search durchgeführt wurde. @xFilipe –
Der Code fügt innerhalb eines div-Tags ein, um das div selbst einzufügen, müssen Sie die append-Funktion oder so etwas wie ... Zeigen Sie mir mehr Details über den Code und wo es eingefügt werden soll, damit ich es für Sie machen kann –
ich es geschafft, den Code zu bearbeiten, ist die Suchfunktion nun wie folgt: @ app.route ('/ search', Methoden = [ 'POST']) def suchen(): \t temp = [] \t Name = request.form ['Name']; \t j = CARDS_COLLECTION.find ({'funktionalername': {'$ regex': name.lower()}}, {"_ id": 1, "url": 1, "name": 1, 'setzt': 1 'functionalname': 1}) \t name = "" \t für k in j: \t \t name = Name + str (k) \t \t \t return json.dumps ({ 'Status': 'OK ','Name Name}); –