为了账号安全,请及时绑定邮箱和手机立即绑定

Flask中服务器端怎样接受ajax发送的json?

Flask中服务器端怎样接受ajax发送的json?

ibeautiful 2019-04-19 16:11:20
js代码如下:functionajaxForm(){$.ajax({type:'post',//contentType:"application/json;charset=UTF-8",url:$SCRIPT_ROOT,dataType:'json',data:{'n1':$('input[name=n1]').val(),'n2':$('input[name=n2]').val(),'n3':$('input[name=n3]').val(),},error:function(xhr,err){alert('请求失败,原因可能是:'+err+'!')},success:function(data,textStatus){$('#max').text(data.max);$('#min').text(data.min);}});returnfalse}服务端只能用request.form.get()得到数据,request.get_json()却是None,改变contentType也是一样的,这是怎么回事呢?我想应该是URL的问题$SCRIPT_ROOT={{request.script_root|tojson|safe}}是空的怎样设置URL才能让进入服务view函数内呢?
查看完整描述

2 回答

?
九州编程

TA贡献1785条经验 获得超4个赞

虽然已经过了两年了,题主肯定不需要了,但是还是为将来可能要踩这个坑的同学答一下你的ajax采用“post”方法,但是没有告诉后端传递参数contentType:'application/json;charset=UTF-8',这样就告诉后端才用的是json格式,你的datatype其实是希望后端返回的数据格式!但是这样设置后也只有request.get_data有数据(),request.get_json()还是得不到数据,这时候需要设置data:JSON.stringify()也就是楼主找到的方法。
                            
查看完整回答
反对 回复 2019-04-19
?
UYOU

TA贡献1878条经验 获得超4个赞

pythonrequest.form['n1']
request.form.get('n1')
request.form.get('n1','default')
                            
查看完整回答
反对 回复 2019-04-19
  • 2 回答
  • 0 关注
  • 425 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信