Fetch Api kann Sitzung nicht vom PHP-Server abrufen

Ich verwende Fetch Api in meiner Anwendung.

Ich habe eine PHP-Serverseite, um Sitzungsdaten abzurufen, die bereits zuvor definiert wurden. Es schien so:

<?php
header('Content-Type: application/json; charset=UTF-8');
header('Access-Control-Allow-Origin: *');

session_start();
// $_SESSION['data'] already defined before
$result = array();
// print_r($_SESSION['data']);
if (isset($_SESSION['data'])) {
  $result = $_SESSION['data'];
  $result['code'] = 'ok';
} else {
  $result['code'] = 'error';
}
echo json_encode($result, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES);

Ich habe auch eine andere HTML-Seite, um die Sitzungsdaten zu erhalten. Es schien so:

  <script>
    $(function() {
      // use $.ajax
      $.ajax({
          url: 'session.php',
          dataType: 'json'
        })
        .done(function(res) {
          console.log(res);
        });
      // end

      // use fetch
      fetch('session.php').then(function(res) {
        if (res.ok) {
          res.json().then(function(obj) {
            console.log(obj);
          });
        }
      });
      // end
    });
  </script>

Das Problem ist, wenn ich $ .ajax () verwende, können Sitzungsdaten korrekt angezeigt werden. Aber wenn ich fetch () benutze, waren die Sitzungsdaten undefiniert.

Also, was läuft schief und wie kann ich das beheben? Vielen Dank

Antworten auf die Frage(4)

Ihre Antwort auf die Frage