Python Flask前后端Ajax交互的方法示例
之前總結(jié)過(guò)flask里的基礎(chǔ)知識(shí),現(xiàn)在來(lái)總結(jié)下flask里的前后端數(shù)據(jù)交互的知識(shí),這里用的是Ajax
一、 post方法
1、post方法的位置:在前端HTML里,綁定在一個(gè)按鈕的點(diǎn)擊函數(shù)里,或者一個(gè)鼠標(biāo)輸入框點(diǎn)擊離開事件。
(1)數(shù)據(jù)附在URL里(請(qǐng)求路徑),發(fā)送到后端。
/*前端HTML<script>里:*/
$.post("/js_post/"+ip, data_to_backend, function(data){alert("success "+data)} );
其中ip,data_to_backend是在此代碼前定義好的;data_to_backend一般是一個(gè)json數(shù)據(jù)(data_to_backend={'ip':$(this).parent().prev().text()}),而data是來(lái)自后端的返回?cái)?shù)據(jù)。
#后端py文件(路由啟動(dòng)前面的html的py文件)里:添加一個(gè)路由處理前端post請(qǐng)求
@app.route("/js_post/<ip>", methods=['GET', 'POST'])
def js_post(ip):
print ip
return ip +" - ip"
點(diǎn)擊按鈕后的效果:

前端定義彈窗數(shù)據(jù)

ip在URL里
(2)數(shù)據(jù)單獨(dú)發(fā)送給后端
var ip = $(this).parent().prev().prev().prev().prev().text();
data_tmp = {'ip':ip, 'text':"success for ajax"}; // data to send to server.
$.post('/js_call', data_tmp, function(data){alert(data)});
后端處理程序:
@app.route('/js_call', methods=['GET', 'POST'])
def js_call():
print request.values['ip']
print request.values['text']
# to send the command by ssh : os.system("ssh user@host \' restart(command) \' ")
return 'ok!!!!'

post獨(dú)立數(shù)據(jù)發(fā)送
二、get方法(同樣可以發(fā)數(shù)據(jù))
$.get('/js_get', {'method':'GET', 'text':"from-html"}, function(data){alert(data)})
后端路由接收處理:
@app.route('/js_get', methods=['GET'])
def js_get():
print "method: "+request.values['method']+" --- text: "+request.values['text']
return "get success!"

get成功

數(shù)據(jù)接收成功
注意的是:其中后端py文件的類似request.values['method']的獲取數(shù)據(jù)的request是一個(gè)Python flask的模塊,需要導(dǎo)入。
總結(jié):
- 在flask框架里,Ajax請(qǐng)求對(duì)于后端可以很容易實(shí)現(xiàn),只需在后端Python代碼中對(duì)ajax路徑作出處理即可。
- Ajax的post, get方法均可以向后臺(tái)發(fā)送數(shù)據(jù),只是一般用post發(fā)數(shù)據(jù)(做出改變),get請(qǐng)求數(shù)據(jù)(不改變)。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
教你兩步解決conda安裝pytorch時(shí)下載速度慢or超時(shí)的問(wèn)題
這篇文章主要介紹了教你兩步解決conda安裝pytorch時(shí)下載速度慢or超時(shí)的問(wèn)題,使用清華鏡像源可以大大減少安裝的時(shí)間,需要的朋友可以參考下2023-03-03
Python實(shí)現(xiàn)一鍵改變r(jià)aw格式照片風(fēng)格
這篇文章主要為大家詳細(xì)介紹了如何基于Python實(shí)現(xiàn)一鍵改變r(jià)aw格式照片風(fēng)格效果,文中的示例代碼講解詳細(xì),具有一定的學(xué)習(xí)價(jià)值,需要的可以一起學(xué)習(xí)一下2023-05-05
Python異常繼承關(guān)系和自定義異常實(shí)現(xiàn)代碼實(shí)例
這篇文章主要介紹了Python異常繼承關(guān)系和自定義異常實(shí)現(xiàn)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02
Python實(shí)現(xiàn)讀取郵箱中的郵件功能示例【含文本及附件】
這篇文章主要介紹了Python實(shí)現(xiàn)讀取郵箱中的郵件功能,可讀取郵件文本及附件的功能,涉及Python針對(duì)郵件的獲取、分析、保存等相關(guān)操作技巧,需要的朋友可以參考下2017-08-08
python 中sys.getsizeof的用法說(shuō)明
這篇文章主要介紹了python 中sys.getsizeof的用法說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-05-05
Python實(shí)現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法
這篇文章主要介紹了Python實(shí)現(xiàn)解析Bit Torrent種子文件內(nèi)容的方法,結(jié)合實(shí)例形式分析了Python針對(duì)Torrent文件的讀取與解析相關(guān)操作技巧與注意事項(xiàng),需要的朋友可以參考下2017-08-08
python批處理將圖片進(jìn)行放大實(shí)例代碼
最近處理一些規(guī)格不一的照片,需要修改成指定尺寸便于打印,下面這篇文章主要給大家介紹了關(guān)于python批處理將圖片進(jìn)行放大的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2021-12-12
一行代碼python實(shí)現(xiàn)文件共享服務(wù)器
這篇文章主要介紹了一行代碼python實(shí)現(xiàn)文件共享服務(wù)器,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2021-04-04

