问题

外卖或者点餐时往往从前端要传到后端的是一个JSON包含点的餐品和数量以及价格,食用Flask应该怎么获取呢?

代码

前端JS

//  (1) 创建一个XMLHttpRequest
var ajaxObj = new XMLHttpRequest();
// (2)设置请求的参数。包括:请求的方法、请求的url。
ajaxObj.open('post', '{{ url_for('
    create_order ') }}');
ajaxObj.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// (3)发送请求
ajaxObj.send(
    'data=' + JSON.stringify(ajax_data)
);
//(4)注册事件。 onreadystatechange事件,状态改变时就会调用。
//如果要在数据完整请求回来的时候才调用,我们需要手动写一些判断的逻辑。
ajaxObj.onreadystatechange = function() {
    // 为了保证 数据 完整返回,我们一般会判断 两个值
    if (ajaxObj.readyState === 4 && ajaxObj.status === 200) {
        // 如果能够进到这个判断 说明 数据 完美的回来了,并且请求的页面是存在的
        // 数据是保存在 异步对象的 属性中
        console.log(ajaxObj.responseText);
    } else {
        
    }
}

其中使用JSON.stringify(ajax_data)将要提交的JSON格式转化成字符串

Flask后端处理

import json
data = json.loads(data)

然后data就是我们所需要的data了

Last modification:May 13th, 2021 at 02:19 am
如果我的文章对你有用,请随意赞赏,不要白嫖哦~