此问题与python3.5和react16.2有关。当我尝试使用python flask作为后端从跨域设置cookie并作为前端做出反应时。在这种情况下,我无法在浏览器中设置Cookie。那么反应中是否存在不允许在浏览器中设置Cookie的任何安全性...
我使用flask的set_cookie()方法设置了一个cookie。
场景: 当时我尝试从iframe设置Cookie时,无法在浏览器中设置Cookie。而且我在python中没有收到任何错误。
res = Response(json.dumps(schema.dump(self.message).data), mimetype="application/json")
res.set_cookie(key, value, expires=datetime.datetime.now() + datetime.timedelta(days=40))
我认为这个问题与ReactJS有关。是否有违反跨域概念的财产。
答案 0 :(得分:0)
您是否在响应对象上使用set_cookie,如以下示例所示:
@app.route('/setcookie', methods = ['POST', 'GET'])
def setcookie():
if request.method == 'POST':
user = request.form['nm']
resp = make_response(render_template('readcookie.html'))
resp.set_cookie('userID', user)
return resp
如果您要发布代码示例,我会帮忙的。
答案 1 :(得分:0)
我得到了答案。当您尝试使用跨域将cookie从python设置为ReactJS时,您必须在ReactJS中包含一个属性
withCredentials: False
此属性允许您设置cookie。