English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Sijax représente 'Simple Ajax', c'est un Python/La bibliothèque jQuery, conçue pour aider les développeurs Flask à intégrer facilement Ajax dans les applications. Elle utilise jQuery.ajax pour envoyer des requêtes AJAX.
Flask-L'installation de Sijax est très simple, utilisez la commande suivante -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 pip install flask-sijax
Configuration
SIJAX_STATIC_PATH - Static path du fichier javascript Sijax. La position par défaut est static/js/sijax. Ce dossier contient sijax.js et json2.js file. SIJAX_JSON_URI - Charger json2.js static files URI
Sijax utilise JSON pour transférer des données entre le navigateur et le serveur. Par conséquent, le navigateur doit prendre en charge localement JSON ou utiliser2.js pour obtenir le support JSON.
Les fonctions enregistrées de cette manière ne peuvent pas fournir de fonctionnalités Sijax, car elles ne peuvent pas accéder via la méthode POST par défaut (et Sijax utilise des requêtes POST).
Pour permettre à la fonction View de traiter les requêtes Sijax, vous pouvez utiliser @app.route('/url',methods = ['GET', 'POST']) et l'accéder par POST, ou utiliser @flask_sijax辅助装饰器 .route -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 @flask_sijax.route(app, '/hello')
Chaque fonction de traitement Sijax (tel que) reçoit automatiquement au moins un paramètre, comme Python le fait avec 'self' pour les méthodes d'objet. Le paramètre 'obj_response' est l'objet renvoyé au navigateur par la fonction.
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 def say_hi(obj_response): obj_response.alert('Hi sijax!')
Lorsque Sijax détecte une requête Sijax, il la traite ainsi -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.oldtoolbag.com # Date : 2020-08-08 g.sijax.register_callback('say_hi', say_hi) return g.sijax.process_request()
Le code de l'application Sijax la plus simple est présenté ci-dessous -
# Filename : example.py # Copyright : 2020 By w3codebox # Author by : fr.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 request detected - let Sijax handle it 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)
Lorsqu'un Sijax demande à un serveur (une requête jQuery.ajax() spéciale), cette requête est détectée par g.sijax.is_sijax_request() sur le serveur, dans ce cas, Sijax traitera automatiquement la requête.
Toutes les fonctions enregistrées avec g.sijax.register_callback() sont rendues publiques pour l'appel par le navigateur.
Appeler g.sijax.process_request() pour informer Sijax d'exécuter la fonction appropriée (précédemment enregistrée) et renvoyer la réponse au navigateur.