python和js进行交互的方法
小编给大家分享一下python和js进行交互的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!
后台代码都是利用的
1.【get方式】使用jquery的get json与后台交互
前端js代码片段
vardata={'a':$('input[name="a"]').val(),'b':$('input[name="b"]').val()}$.getJSON($SCRIPT_ROOT+'/_add_numbers',data,function(data){$('#result').text(data.result);$('input[name=a]').focus().select();});
后端pthon代码如下
#ajax,Get方式与js交互(非表单)采用了flask框架@app.route('/_add_numbers')defadd_numbers():"""Addtwonumbersserverside,ridiculousbutwell..."""a=request.args.get('a',0,type=int)b=request.args.get('b',0,type=int)log.info(a)log.info(b)returnjsonify(result=a+b)
2.【万能方式】使用jquery的ajax与后台交互,设置不同的参数,可以get也可以post
上面的例子用ajax方式,前端代码如下
vardata={'a':$('input[name="a"]').val(),'b':$('input[name="b"]').val()}{#$.getJSON($SCRIPT_ROOT+'/_add_numbers',data,function(data){#}{#$('#result').text(data.result);#}{#$('input[name=a]').focus().select();#}{#});#}$.ajax({type:'get',url:$SCRIPT_ROOT+'/_add_numbers',data:data,contentType:'application/json;charset=UTF-8',dataType:'json',success:function(data){$('#result').text(data.result);$('input[name=a]').focus().select();},error:function(xhr,type,xxx){alert('error')}});
后台代码不便依然是
#ajax,Get方式与js交互(非表单)@app.route('/_add_numbers')defadd_numbers():"""Addtwonumbersserverside,ridiculousbutwell..."""a=request.args.get('a',0,type=int)b=request.args.get('b',0,type=int)log.info(a)log.info(b)returnjsonify(result=a+b)
3.用ajax补充一个post方式的例子
前端js如下
functiontestmethod(){alert('rabbit');vardata={"name":"test"}$.ajax({type:'POST',url:'/login',data:data,contentType:'application/json;charset=UTF-8',dataType:'json',success:function(data){$('#result').text(data.username);},error:function(xhr,type){alert('error')}});}
后台代码如下:
#ajax,post方式与js交互(表单提交)@app.route('/login',methods=['POST'])deflogin():log.info('lalal')returnjsonify(username='xixi',pwd='123')
这样就很轻松的实现了前端与后台的交互
本质上,前端与后端交互都是通过json完成的
至于表单提交,就不需要写js了,在form表单里面有有一个submit类型按钮,点击时,会自动提交到后台对应的路由上进行处理。对于表单提交,后台可以用
s=request.form.get('username',None)
来捕捉前端网页的值。但是如果是非表单提交,则需要用js获取值后,通过data参数传入到后端才行。
看完了这篇文章,相信你对python和js进行交互的方法有了一定的了解,想了解更多相关知识,欢迎关注亿速云行业资讯频道,感谢各位的阅读!
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。