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

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

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

蝴蝶不菲 2019-04-16 17:05:46
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 回答

?
繁星coding

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

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

TA贡献1842条经验 获得超22个赞

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

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号