有一段時間我正在學習如何在Flask中使用Ajax。在燒瓶的官方網站上有一個例子:ajax的python-flask示例
from flask import Flask, jsonify, render_template, request
app = Flask(__name__)
@app.route('/_add_numbers')
def add_numbers():
a = request.args.get('a', 0, type=int)
b = request.args.get('b', 0, type=int)
return jsonify(result=a + b)
@app.route('/')
def index():
return render_template('index.html')
它適用於我。但我找下面的程序:
- 一個jQuery代碼發送初始數量爲Python應用程序
- 的Python應用程序商店的數量和響應「獲得:[數目]」
while true:
的Python應用程序等待請求「增加」爲它加1號並將其返回
jQuery的部分不要緊,我能做到這一點,但我不知道如何實現蟒蛇部分:
@app.route('/_inc_number')
def inc_number():
n = request.args.get('n', 0, type=int)
while true:
req = request.args.get('req', 0, type=string)
if req == 'increase':
n = n + 1
return n #It exits the function. how respond without quit?
請解釋一下我可以如何恢復數據?我對Ajax和Flask都是新手,我懷疑它不是「真正的」ajax ......是嗎?你將如何在燒瓶中實現一個具有相同功能的簡單函數?
szepnapot,但有各種聊天應用程序使用Ajax;這個HTTP請求與此不同嗎?如何在python中實現>真正的
gen
Ajax使用HTTP。 「通常情況下」您的瀏覽器通過輸入url並點擊Enter或點擊鏈接來發送HTTP請求。 Ajax也是如此,但在後臺。這兩種情況之間沒有區別:都發送HTTP請求。我所描述的「原始方法」可以使用或不使用Ajax,這是您的選擇。 某些聊天應用程序使用[長輪詢](http://en.wikipedia.org/wiki/Push_technology#Long_polling),這會使連接長時間處於打開狀態。但是你不能無限期地打開它,所以最終你需要堅持和會話處理。 – Cucu
謝謝我看到它知道 – gen