我在我的电脑上运行了一个 React 应用程序,在同一台电脑上有一个 Flask 后端。 当这个请求是从我的电脑发出时,对我本地电脑的请求完美地工作。
当我通过将运行 React 应用程序和 Flask 后端的计算机的 ip 放在 chrome 上,在另一台电脑上运行我的 React 应用程序时,问题就出现了。应用显示正确,但由于 CORS 错误,没有向后端发出请求。
错误提示 CORS Failed with error NS_ERROR_DOM_BAD_URI
在出现此错误的计算机上,我可以通过在 chrome 搜索栏 http://192.168.0.47:3000/campo 中键入来执行请求,它会正确返回字段,因此两台计算机都在通信,并且 chrome 允许我发送获取请求。当我访问我的 React 应用程序时,在必须发出此请求的页面中,它向我显示了该错误。
当发出 get 请求时,我正在我的 React 应用程序中设置此标头:
Http.setRequestHeader('Access-Control-Allow-Methods', 'POST, GET, OPTIONS, PUT');
Http.setRequestHeader('Access-Control-Allow-Origin', '*');
我试图禁用 cors 或添加 response.headers... 到我的烧瓶获取定义:
@app.route('/campo', methods=['GET'])
def get_campos():
session = Session()
campo_objects = session.query(Campo).all()
schema = CampoSchema(many=True)
campos = schema.dump(campo_objects)
response={"data": campos}
response.headers.add("Access-Control-Allow-Origin", "*")
session.close()
return response, 201
以前,我是这样的:
@app.route('/campo', methods=['GET'])
def get_campos():
session = Session()
campo_objects = session.query(Campo).all()
schema = CampoSchema(many=True)
campos = schema.dump(campo_objects)
session.close()
return {"data": campos}, 201
我在两个代码中得到相同的...
任何帮助都会很棒。