English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Sijax steht für 'Simple Ajax', es ist ein Python/Die jQuery-Bibliothek zielt darauf ab, Flask-Entwicklern den einfacheren Einstieg in Ajax in ihre Anwendungen zu ermöglichen. Sie verwendet jQuery.ajax, um AJAX-Anfragen zu senden.
Flask-Die Installation von Sijax ist sehr einfach, verwenden Sie den folgenden Befehl -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by: de.oldtoolbag.com # Date : 2020-08-08 pip install flask-sijax
Konfiguration
SIJAX_STATIC_PATH - Sijax JavaScript-Dateistatic-Pfad. Der Standardort ist static/js/sijax. In diesem Ordner werden sijax.js und json2.js-Datei. SIJAX_JSON_URI - json laden2.js-Staticdatei URI
Sijax verwendet JSON, um Daten zwischen Browser und Server zu übertragen. Daher muss der Browser lokal JSON unterstützen oder von json2.js-Datei JSON-Unterstützung erhält.
Durch这种方式 registrierte Funktionen können keine Sijax-Funktionen bereitstellen, da sie standardmäßig nicht auf den POST-Methoden zugreifen können (und Sijax verwendet POST-Anfragen).
Um zu ermöglichen, dass die View-Funktion Sijax-Anfragen verarbeiten kann, kann man @app.route('/url',methods = ['GET', 'POST']) kann durch POST darauf zugegriffen werden oder indem man ähnlich @flask_sijax.route-Hilfsdekorator -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by: de.oldtoolbag.com # Date : 2020-08-08 @flask_sijax.route(app, '")/hello')
Jeder Sijax-Verarbeitungsfunction (wie so) erhält automatisch mindestens einen Parameter, genau wie Python 'self' an Objektmethoden weitergibt. Der 'obj_response'-Parameter ist das Objekt, das die Funktion an den Browser zurückgibt.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by: de.oldtoolbag.com # Date : 2020-08-08 def say_hi(obj_response): obj_response.alert('Hi sijax!')
Wenn ein Sijax-Anfrage erkannt wird, verarbeitet Sijax es so -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by: de.oldtoolbag.com # Date : 2020-08-08 g.sijax.register_callback('say_hi', say_hi) return g.sijax.process_request()
Der kleinste Sijax-Anwendungscodes sieht folgendermaßen aus -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by: de.oldtoolbag.com # Date : 2020-08-08 import os from flask import Flask, g from flask_sijax import sijax path = os.path.join('.', os.path.dirname(__file__), 'static'/js/sijax/') app = Flask(__name__) app.config['SIJAX_STATIC_PATH'] = path app.config['SIJAX_JSON_URI'] = ''/static/js/sijax/json2.js' flask_sijax.Sijax(app) @app.route('"}/') def index(): return 'Index' @flask_sijax.route(app, '")/hello') def hello(): def say_hi(obj_response): obj_response.alert('Hi there!') if g.sijax.is_sijax_request: # Sijax Anfrage erkannt - Lasst Sijax das erledigen g.sijax.register_callback('say_hi', say_hi) return g.sijax.process_request() return _render_template('sijaxexample.html') if __name__ == '__main__': app.run(debug=True)
Wenn eine Sijax eine Anfrage an den Server sendet (eine spezielle jQuery.ajax() Anfrage), wird diese Anfrage durch g.sijax.is_sijax_request() auf dem Server erkannt und in diesem Fall wird Sijax automatisch die Anfrage verarbeiten.
Alle Funktionen, die mit g.sijax.register_callback() registriert wurden, sind dem Browser zur Verfügung gestellt, um aufgerufen zu werden.
Aufruf von g.sijax.process_request() um Sijax anzuweisen, die angemessene (früher registrierte) Funktion auszuführen und die Antwort dem Browser zurückzugeben.