Ich habe Rückrufe in @ app.before_request in meiner Flasche Anwendung.Flask Sijax Handhabung Rückrufe in @ app.before_request
@app.before_request
def before_request():
def alert(response):
response.alert('Message')
if g.sijax.is_sijax_request:
g.sijax.register_callback('alert', alert)
return g.sijax.process_request()
Der Grund, warum ich dies habe, ist, weil die Ajax-Anfrage auf jeder Seite in meiner Anwendung vorhanden ist. Das funktioniert gut, bis ich eine Seite spezifische Rückruf d.h definiert eine AJAX-Anforderung mit Sijax in einer Ansicht haben will, weil if g.sijax.is_sijax_request:
zweimal verwendet wird, so dass ich nicht die Rückrufe registrieren kann, die zu einer Ansicht spezifisch sind.
Gibt es eine Abhilfe für dieses Problem? Vielen Dank.
Diese Lösung funktioniert perfekt, außer alle registrierten Rückrufe zweimal ausgeführt werden, da, wenn 'g.sijax.is_sijax_request: ... zurück g.sijax.process_request()' zweimal verwendet wird. Gibt es eine Möglichkeit, dieses Problem zu umgehen? –
Ich habe den Code aktualisiert. – pjcunningham
Danke, ich habe gerade Ihren Code implementiert, die Callbacks in Views funktionieren. Wenn Callbacks verwendet werden, die sich in '@ app.after_request' befinden, aber auch Callbacks in der angeforderten Ansicht vorhanden sind, funktionieren sie nicht. –