我有一个 PHP 脚本,如果直接在浏览器中(或通过 postman)调用,它可以成功返回一些简单的头部信息以及 set-cookie 头部信息。我可以像在 Chrome DevTools 中那样读取响应头部信息。但是一旦我通过 Axios 调用该脚本,set-cookie 头部信息就不会显示出来,并且浏览器里也没有保存任何 cookie。
我尝试了一些不同的方法,比如在服务器端更改响应头信息并在 axios 中使用 "withCredentials: true",但都没有起作用。 我甚至没有收到任何错误或任何与跨源资源共享相关的问题。
PHP 代码:
我的第一个问题是:为什么直接调用PHP脚本时,头信息会出现?如何通过axios获取头信息呢?
我尝试了一些不同的方法,比如在服务器端更改响应头信息并在 axios 中使用 "withCredentials: true",但都没有起作用。 我甚至没有收到任何错误或任何与跨源资源共享相关的问题。
PHP 代码:
header("Access-Control-Allow-Origin: http://localhost:8080");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Methods: POST, GET");
header("Access-Control-Allow-Credentials: true");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
header("Access-Control-Max-Age: 99999999");
setcookie("TestCookie", "Testing", time() + 3600, "/", "localhost", 0);
die();
JS:
Vue.prototype.$http = axios.create({
baseURL: XYZ,
withCredentials: true
})
我的第一个问题是:为什么直接调用PHP脚本时,头信息会出现?如何通过axios获取头信息呢?