You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

PHP从JavaScript调用时Cookie未定义,浏览器调用正常求助

问题:JavaScript调用PHP脚本时Cookie变量显示undefined,浏览器直接调用却正常
  • 现有一套包含三个脚本的流程:前端PHP页面用于选择航空公司,将选择结果存入Cookie后,调用JavaScript脚本获取PHP接口数据并展示图表
  • PHP脚本airline_fetch.php在浏览器直接访问时,能正常读取airline Cookie并返回对应数据;但通过JavaScript的fetch方法调用该脚本时,PHP中检测不到$_COOKIE["airline"],会输出"Cookie Not Set"
  • 浏览器的应用程序面板中可以确认airline Cookie确实存在;如果在fetch请求中硬编码传递airline参数,接口能正常返回数据
  • 尝试过使用AJAX请求、直接传递PHP变量等方式,均未解决问题

相关信息

Cookie面板情况

浏览器应用程序面板中可见airline Cookie(值为"FedEx"),同时存在csrftoken Cookie

浏览器直接访问PHP脚本的输出示例

FedEx {
  "csrftoken":"Ajy5Fvg1A8gVHUN4Al5B4heZxn8LFuGFz1ZAPzcQWXJc7tQguB6yePtbmODOBCTh",
  "airline":"FedEx"
}
[
  {
    "Day":"Thursday",
    "XDate":"January-04-2024",
    "Time":"04:59:59",
    "Flight_Number":"FX1444",
    "Airline_Name":"FedEx",
    "IATA":"MEM",
    "From_Airport":"Memphis International",
    "IATC":"FLL","To_Airport
...
]

网络请求情况

网络面板中的fetch请求记录显示请求已发送,但请求头未携带airline Cookie

相关代码

JavaScript fetch请求代码

async function getData() {
       
      const response = await fetch('http://192.168.1.2:8081/airline_fetch.php', {credentials: "same-origin"});
      const data = await response.json();
      console.log(data);
}

PHP Cookie处理代码

if (isset($_COOKIE["airline"])) 
    $Airline_Name = $_COOKIE["airline"]; 
else 
echo "Cookie Not Set";

内容的提问来源于stack exchange,提问作者Robert E. Smith

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 00:51:02