![图片[1]-python和js如何交互-uusu优素-乐高,模型,3d打印,编程](http://uusucn.zbbe.cn/wp-content/uploads/2024/01/5d82df59bcc06543.jpg)
后台代码都是利用的
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)原文来自:https://www.py.cn © 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
















































暂无评论内容