寫在前面 先吐槽兩句,搞個mysql安裝配置弄了4個小時,怎麼都是外網無法訪問,我靠,我特麽也是服了。 當然,後來我投降了,明天再說,學什麼不是學,娘的,換個方向,狀態依然在! Sijax是什麼? 代表 Simple Ajax ,它是一個 Python / jQuery 庫,使用 jQuery.aj ...
寫在前面
先吐槽兩句,搞個mysql
安裝配置弄了4個小時,怎麼都是外網無法訪問,我靠,我特麽也是服了。
當然,後來我投降了,明天再說,學什麼不是學,娘的,換個方向,狀態依然在!
Sijax是什麼?
代表 Simple Ajax
,它是一個 Python / jQuery
庫,使用 jQuery.ajax
來進行AJAX請求用的。
安裝依賴
pip install flask-sijax
Sijax的使用
模板頁面result.html,示例代碼如下:
<html>
<head>
{# 調用百度的jQuery加速 #}
<script type="text/javascript" src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
{# 安裝Flask-sijax時預設安裝的sijax.js #}
<script type="text/javascript" src="/static/js/sijax/sijax.js"></script>
{# 使用過濾器safe禁止轉譯sijax_get_js() #}
<script type="text/javascript"> {{ g.sijax.get_js()|safe }} </script>
</head>
<body>
{# 創建id為my_form的表單 #}
<form id="my_form">
<p><input type="text" name="username" value="小強" /></p>
<p><input type="password" name="password" value="123445" /></p>
</form>
{# 使用Sijax.getFormValues方法獲取id為my_form的表單數據 #}
<script type="text/javascript">
var values = Sijax.getFormValues('#my_form');
</script>
{# 使用帶參數Sijax.request()方法傳遞values值 #}
<a href="javascript://" onclick="Sijax.request('queryUserInfo',values);">點擊</a>
</body>
</html>
邏輯代碼部分如下:
import os
import flask_sijax
from flask import Flask, g, render_template
# 這玩意真的不用自己創建,服務啟動後,手動訪問路徑會自動生成
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, '/getUserInfo')
def sendRequest():
def queryUserInfo(response):
response.alert('調用Sija執行查詢操作!')
if g.sijax.is_sijax_request:
g.sijax.register_callback('queryUserInfo', queryUserInfo)
return g.sijax.process_request()
return render_template('result.html')
if __name__ == '__main__':
app.run(debug=True)
知識點:
app.config['SIJAX_STATIC_PATH']:
要被鏡像的Sijax javascript
文件的靜態路徑。預設位置是static/js/sijax
。在此文件夾中,保留sijax.js
和json2.js
文件。app.config['SIJAX_JSON_URI']:
從中載入json2.js
靜態文件的URI
- 使用
@flask_sijax.route
輔助裝飾器來處理Sijax
請求 g.sijax.is_sijax_request:
判斷是否請求為sijax
請求g.sijax.register_callback():
註冊的所有函數都會公開,以便從瀏覽器進行調用。g.sijax.process_request():
會告訴Sijax
執行適當的(先前註冊的)函數並將響應返回給瀏覽器。
效果:
寫在最後
搞的破環境搞了進半天,效率有點低了,但是我也不到為啥不行,各種招都試了,就是10060
or10061
,防火牆我真關了,真的被虐的好疼!
但也沒什麼,累了、心情不好看看AI女友,怎麼心情也會很快好起來的,可能有人會說,你是不是因為喜歡看美女?
我承認呀,誰不愛看美女,你說是不是?
有人會說,我不信,你讓她自己說呀,來,安排!
安排,直接上效果:
優秀不夠,你是否無可替代
軟體測試交流QQ群:721256703,期待你的加入!!
歡迎關註我的微信公眾號:軟體測試君