Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
API中的PHP会话在Axios在React中调用时发生更改_Php_Reactjs_Session_Axios - Fatal编程技术网

API中的PHP会话在Axios在React中调用时发生更改

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编写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-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 })