首页 > 解决方案 > 将 fetch 与浏览器 cookie 一起使用

问题描述

我在我的服务器上创建了一个看起来像这样的 PHP 页面

<?php
header("Access-Control-Allow-Origin: *");
session_start();
if (isset($_SESSION['sellername'])) {
    echo "Ok";
} else {
    echo "No session found";
}

从另一个页面(不在同一台服务器上)我有这个功能

async function sessionCheck() {
  let res = await fetch("https://example.com/check_session.php");
  let msg = await res.text();
  return (msg == "Ok");
}

但即使我已连接,它也不会识别会话处于活动状态。

我如何获取,但使用浏览器 cookie(或任何我需要被服务器识别的东西)?

标签: javascriptphpsessionfetch

解决方案


Fetch 默认不发送 cookie。

添加credentials: 'include'到请求选项

await fetch("https://www.MYURL.com/check_session.php", { credentials: "include" );

推荐阅读