flask restful abort cross 疑问

2019-07-06 14:21:16 +08:00
 ropon
flask_restful.abort = api_abort
def api_abort( httpcode=400, errcode=None, message=None, key=""):
    res = BaseResponse()
    res.errcode = errcode or 4011
    if message:
        res.errmsg = message
    else:
        res.errmsg = key + codetype.get(res.errcode)
    res.dict.pop('data')
    if httpcode == 200:
        print(123456, res.dict)
        return jsonify(res.dict), httpcode
    return abort( httpcode, **res.dict)
@app.after_request
    def after_request(response):
        # 允许跨域
        response.headers.add('Access-Control-Allow-Origin', '*')
        if request.method == 'OPTIONS':
            response.headers['Access-Control-Allow-Methods'] = 'POST, DELETE, PUT, GET'
            headers = request.headers.get('Access-Control-Request-Headers')
            if headers:
                response.headers['Access-Control-Allow-Headers'] = headers
        return response

当 return abort( httpcode, **res.dict) 状态码 400 提示跨域

4186 次点击
所在节点    Flask
6 条回复
viakiba
2019-07-06 14:28:19 +08:00
加 header
ropon
2019-07-06 14:29:47 +08:00
@viakiba 加 header 是?不太明白呢
Acebiu
2019-07-06 14:47:00 +08:00
Acebiu
2019-07-06 14:48:51 +08:00
打扰了,不小心看成 CORS 了...
ropon
2019-07-06 15:56:34 +08:00
感觉不是跨域的问题,迷芒了。
https://i.bmp.ovh/imgs/2019/07/c22bfb001a8c595a.jpg
ropon
2019-07-06 19:22:25 +08:00
@ropon
已经解决,axios 发送 post 请求不管状态码 200,还是状态码 400 或其他,都接收到 json 格式,如果是非 200,通过 error.response.data 获取返回 json

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/580577

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX