背景
使用Python微框架flask写接口时,请求某个方法需要返回一些json数据。本机没有任何问题,当需要前后端分离时,做内网穿透,其他机子请求这个接口会报错,错误提示:
Failed to load http://192.xxxx/api: No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'http://192.xxxx' is therefore not allowed access.
报错代码:
@app.route('/show_person', methods=['GET', 'POST']) def show_person(): all_person_dict = person_dict.person() all_person_json = json.dumps(all_person_dict) resp = jsonify({'person': all_person_json}) return resp
解决方法:
按照错误提示,需要在请求头加入:Access-Control-Allow-Origin
正确代码:
@app.route('/show_person', methods=['GET', 'POST']) def show_person(): all_person_dict = person_dict.person() all_person_json = json.dumps(all_person_dict) resp = jsonify({'person': all_person_json}) resp.headers['Access-Control-Allow-Origin'] = '*' return resp