API中的PHP会话在Axios在React中调用时发生更改
我正在使用PHP编写Api。 Api由react web客户端调用。我正在使用Axio调用Api。当我向我的Api发送一些东西时,SessionID不是持久的,它在每次调用后都会改变。有人知道吗 简化的PHP Api:API中的PHP会话在Axios在React中调用时发生更改,php,reactjs,session,axios,Php,Reactjs,Session,Axios,我正在使用PHP编写Api。 Api由react web客户端调用。我正在使用Axio调用Api。当我向我的Api发送一些东西时,SessionID不是持久的,它在每次调用后都会改变。有人知道吗 简化的PHP Api: <?php session_start(); echo session_id(); /* //Doesnt mather header('Access-Control-Allow-Origin: *'); header('Access-Control-Allow-Meth
<?php
session_start();
echo session_id();
/*
//Doesnt mather
header('Access-Control-Allow-Origin: *');
header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
header('Content-type: application/json; charset=utf-8');
*/
?>
我不确定这是一个重复的问题,还是一个非常相关的问题: 我猜您的api和客户端运行在不同的域上。在这种情况下,为了让浏览器存储cookie,您需要
{withCredentials:true}
作为配置:
axios.post(api_url, qs.stringify(data), { withCredentials: true })
您不能在api中使用会话,会话用于生成唯一id,并通过cookie存储在浏览器中;另一个副本存储在服务器文件系统中;您将需要非传统方式来实现此系统;
axios.post(api_url, qs.stringify(data), { withCredentials: true })