在问这个问题之前,我确实看过其他类似的问题,但是到目前为止还没有任何帮助。
我有一个使用axios的反应前端,使用快速和快速会话对节点后端进行api调用。一旦我在前端输入登录信息,我就将它发送到我的后端,在那里我设置一个会话并返回我在localStorage中设置的前端的响应,用于客户端验证。
当我尝试访问受保护的api端点 - 从前端 - 登录后,会话没有我在其中设置的任何信息,因此,给我一个错误。但是,如果我尝试登录并从邮递员访问受保护的端点,它可以正常工作。
这是我的快速会话配置:
router.use(session({
secret: 'notGoingToWork',
resave: false,
saveUninitialized: true
}))
这是api调用(登录后)我通过axios进行编写:
axios.get(`http://localhost:5000/users/personNotes/${JSON.parse(userData).email}`)
.then(response => console.log(response);
我不知道问题是什么,并希望得到任何帮助。提前谢谢!
答案 0 :(得分:3)
尝试使用withCredentials
axios(`http://localhost:5000/users/personNotes/${JSON.parse(userData).email}`, {
method: "get",
withCredentials: true
})
或
axios.defaults.withCredentials = true
答案 1 :(得分:1)
您可以使用 axios 尝试name,company_id/id,location_dest_id/id,picking_type_id/id,move_type,location_id/id,move_lines/product_id/.id,move_lines/product_uom_qty,move_lines/date_expected,move_lines/location_dest_id/id,move_lines/name,move_lines/date,move_lines/location_id/id,move_lines/procure_method,move_lines/product_uom/id,partner_id/.id
IMPORT0001,base.main_company,stock.stock_location_stock,stock.picking_type_in,As soon as possible,stock.stock_location_suppliers,1000,40,2019-04-05 19:41:54,stock.stock_location_stock,"Digitizer (Black, OEM, Apple iPad)",2019-04-07 08:32:24,stock.stock_location_suppliers,Default: Take From Stock,product.product_uom_unit,705
至withCredentials
。
对于从true
到credentials
的提取也将起作用。
include
答案 2 :(得分:0)
要与...一起使用提取
credentials: 'include'
我还必须在Express App.js中添加以下内容。
请注意,不能使用凭据将“ Access-Control-Allow-Origin”设置为“ *”。它必须使用特定的域名。
res.setHeader(
'Access-Control-Allow-Origin',
'http://localhost:3000'
);
res.setHeader('Access-Control-Allow-Credentials', 'true');