javascript - 怎样在后端读取前端POST的json对象?
怪我咯
怪我咯 2017-04-10 16:15:24
[JavaScript讨论组]

我想在前端通过Ajax 把一个json 对象(由字典生成),返回给后端。

经过测试,在后端通过request.args的数据结构是 ImmutableMuliDict:
文档上找到的资料是如下,所以我使用了copy()

后端的代码如下所示,我分别尝试了好多种方法但都不成功,返回结果分别如fixme1 fixme2 fixme3 fixme4 所示。

@app.route('/scan/pop_card', methods=['POST'])
def pop_card():
    if request.method == 'PUT':
        card = request.args
        print 1, type(card)
        print 2, card

        # card_info = json.load(card.copy())
        # fixme 1
        '''
        # File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 286, in load        # return loads(fp.read(),
        # AttributeError: 'MultiDict' object has no attribute 'read'
        '''
        card_json = card.copy().to_dict()  #
        # fixme 2 dict {}

        # card_info = json.loads(str(card.copy()))
        # fixme 3
        '''

        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/__init__.py", line 338, in loads
        return _default_decoder.decode(s)
        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 366, in decode
          obj, end = self.raw_decode(s, idx=_w(s, 0).end())
        File "/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/json/decoder.py", line 384, in raw_decode
        # raise ValueError("No JSON object could be decoded")
        #ValueError: No JSON object could be decoded

        '''

        card_info = json.dumps(card.copy())
        # fixme 4 str {}

        return '<h1> 200 </h1>', 200

最后的问题是,我应该怎样在后端读取这个 json 对象?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(1)
大家讲道理

原谅我是个笨蛋。
我是题主,现在已经找到答案了。
根据flask.request 的文档 http://dormousehole.readthedocs.org/en/latest/api.html#flask.request

直接使用 request.data 即可得到我的数值,连转换也不用了。

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号