javascript - 将 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(或任何我需要被服务器识别的东西)?
解决方案
Fetch 默认不发送 cookie。
添加credentials: 'include'
到请求选项
await fetch("https://www.MYURL.com/check_session.php", { credentials: "include" );
推荐阅读
- python - pandas groupby 根据条件计数
- c - 为什么这段代码最后会打印垃圾?为什么 strlen 返回不正确的值?
- node.js - 如何防止我的 Node js 代码被盗?
- php - Laravel - 会话似乎只保存了第二次
- nginx - 如何创建排除以特定字符串开头的任何 URL 路径的 auth_basic nginx 配置?
- bash - 拆分 PDF(子分组页面)
- javascript - 改变状态后由 Vue(x) 更改的数组
- c# - 如何创建一个显示从数组到 XAML 图像的随机图像的事件
- kubernetes - 如何根据任何特定的退出代码列出 kubernetes pod,例如我需要列出所有 exitCode 值为 255 的 pod
- ios - 如何正确地动画推送带有透明导航栏和工具栏的视图控制器?