Flask 接收axios post的数据

客户端使用axios向服务器传参且接收Flask返回的数据。

客户端axios:

 const path = 'api/g2dLayout'
 axios.post(path,{layout:'fr'})
     .then(res=>{
     console.log('getData:', res.data)
     this.addObj(res.data)
     }).catch(error=>{
     console.error('get error:', error)
 })

服务器Flask:

@app.route('/g2dLayout', methods=['GET', 'POST'])
def g2dLayout():
    if request.method == 'GET':
        graph = getL.read_json("static/data/miserables.json")
        return graph
    if request.method == 'POST':
        reqlyout = request.get_json()['layout']    #正确获取参数‘fr’
#       reqlyout = request.form.get('layout')    #输出为None
#       reqlyout = request.values.get('layout')    #输出为None
#       reqlyout = request.args.get('layout')    #输出为None
        print(reqlyout)
        graph = getL.response_layout("static/data/miserables.json", reqlyout)
        return graph

之前一直获取不到正确的数据,后面根据一篇博客找到了答案:https://blog.csdn.net/weixin_43705559/article/details/94737607

axios与Ajax传值有所区别,因此在接收方式上也有所不同。若使用Ajax传值则可以使用request.form.get('layout'),或者request.form['layout']获取参数。

你可能感兴趣的:(日常填坑呗,python)