English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Sijax representa 'Simple Ajax', é uma biblioteca Python/Biblioteca jQuery, projetada para ajudar os desenvolvedores Flask a introduzir Ajax em suas aplicações de forma fácil. Ela usa jQuery.ajax para enviar solicitações AJAX.
Flask-A instalação do Sijax é muito simples, use o comando a seguir -
# Filename: example.py # Copyright : 2020 By w3codebox # Author by: pt.oldtoolbag.com # Date : 2020-08-08 pip install flask-sijax
Configuração
SIJAX_STATIC_PATH - Caminho estático do arquivo JavaScript Sijax. A posição padrão é static/js/sijax. Nesta pasta, estão salvos sijax.js e json2.js arquivo. SIJAX_JSON_URI - Carregar json2.js arquivo URI estático
O Sijax usa JSON para passar dados entre o navegador e o servidor. Portanto, o navegador precisa de suporte local para JSON ou de json2.js arquivo para obter suporte JSON.
As funções registradas dessa forma não podem fornecer funcionalidade Sijax, porque, por padrão, elas não podem ser acessadas via método POST (e o Sijax usa solicitações POST).
Para permitir que a função View possa lidar com solicitações Sijax, você pode usar @app.route('/url, methods = ['GET', 'POST']) para acessá-lo via POST, ou usar @flask_sijaxdecorador auxiliar .route -
# Filename: example.py # Copyright : 2020 By w3codebox # Author by: pt.oldtoolbag.com # Date : 2020-08-08 @flask_sijax.route(app, '')/hello')
Cada função de processamento Sijax (como esta) receberá automaticamente pelo menos um parâmetro, da mesma forma que o Python passa 'self' para métodos de objetos. O parâmetro 'obj_response' é o objeto retornado pela função para o navegador.
# Filename: example.py # Copyright : 2020 By w3codebox # Author by: pt.oldtoolbag.com # Date : 2020-08-08 def say_hi(obj_response): obj_response.alert('Hi sijax!')
Quando detectado uma solicitação Sijax, o Sijax lida com ela assim -
# Filename: example.py # Copyright : 2020 By w3codebox # Author by: pt.oldtoolbag.com # Date : 2020-08-08 g.sijax.register_callback('say_hi', say_hi) return g.sijax.process_request()
O código-fonte mais pequeno do aplicativo Sijax é mostrado a seguir -
# Filename: example.py # Copyright : 2020 By w3codebox # Author by: pt.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)
Quando um Sijax faz uma solicitação ao servidor (um pedido especial do jQuery.ajax()), essa solicitação é detectada pelo g.sijax.is_sijax_request() no servidor, e, nesse caso, o Sijax processa automaticamente a solicitação.
Todas as funções registradas com g.sijax.register_callback() são expostas ao navegador para chamadas.
Chame g.sijax.process_request() para informar ao Sijax de que deve executar a função apropriada (anteriormente registrada) e retornar a resposta ao navegador.