今天扣丁学堂Python培训老师给大家介绍一下关于Python高级教程Flask前后端Ajax交互的方法示例,老师这里用的是Ajax,下面我们一起来看一下吧。
一、post方法
1、post方法的位置:在前端HTML里,绑定在一个按钮的点击函数里,或者一个鼠标输入框点击离开事件。
(1)数据附在URL里(请求路径),发送到后端。
/*前端HTML里:*/
$.post("/js_post/"+ip,data_to_backend,function(data){alert("success"+data)});
其中ip,data_to_backend是在此代码前定义好的;data_to_backend一般是一个json数据(data_to_backend={'ip':$(this).parent().prev().text()}),而data是来自后端的返回数据。
#后端py文件(路由启动前面的html的py文件)里:添加一个路由处理前端post请求
@app.route("/js_post/",methods=['GET','POST'])
defjs_post(ip):
printip
returnip+"-ip"
点击按钮后的效果:
前端定义弹窗数据
ip在URL里
(2)数据单独发送给后端
varip=$(this).parent().prev().prev().prev().prev().text();
data_tmp={'ip':ip,'text':"successforajax"};//datatosendtoserver.
$.post('/js_call',data_tmp,function(data){alert(data)});
后端处理程序:
@app.route('/js_call',methods=['GET','POST'])
defjs_call():
printrequest.values['ip']
printrequest.values['text']
#tosendthecommandbyssh:os.system("sshuser@host\'restart(command)\'")
return'ok!!!!'
post独立数据发送
二、get方法(同样可以发数据)
$.get('/js_get',{'method':'GET','text':"from-html"},function(data){alert(data)})
后端路由接收处理:
@app.route('/js_get',methods=['GET'])
defjs_get():
print"method:"+request.values['method']+"---text:"+request.values['text']
return"getsuccess!"
get成功
数据接收成功
注意的是:其中后端py文件的类似request.values['method']的获取数据的request是一个Pythonflask的模块,需要导入。
总结:
在flask框架里,Ajax请求对于后端可以很容易实现,只需在后端Python代码中对ajax路径作出处理即可。
Ajax的post,get方法均可以向后台发送数据,只是一般用post发数据(做出改变),get请求数据(不改变)。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持扣丁学堂。
网友评论