使用烧瓶从ajax POST获取数据的非类型

时间:2017-04-25 08:02:57

标签: python ajax flask

我在尝试从我的烧瓶项目中的ajax查询中获取数据时遇到问题。服务器收到" NoneType"。

这是我的ajax查询:

function doChart(val){
    console.log(val);
    $.ajax({    
            url : baseURL + '/get-stat-data',
            dataType: 'json',
        data: JSON.stringify({
              item: val
            }),
            type : "POST",
        success:function(data){
            //alert(data.substr(1, data.length - 2));
            alert(data);      
        },

        error: function(XMLHttpRequest, textStatus, errorThrown) { 
            alert("Status: " + textStatus+", Error: " + errorThrown);  
        } 
    });

}

Flask代码:

@application.route("/get-stat-data",methods=['GET', 'POST'])
def get_stat_data():
    if request.method == "POST":
        json = request.json
        #con = connect_db()
        print("data = "+json)

我得到错误:

print("data = "+json)
TypeError: Can't convert 'NoneType' object to str implicitly

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

将您的数据设为

data: JSON.stringify({
       item: val
      }),

并提及contentType: 'application/json;charset=UTF-8'

然后在Python中 -

postdata = request.json["item"]

这应该可以解决问题。