Политика CORS в AJAX запросах на PHP

Через AJAX нельзя просто так делать запросы к другим сайтам. Такие запросы регулируются политикой CORS. Вкратце, по этой политике сайт, на который вы направляете запрос, должен согласиться на него ответить. Для этого он должен отдать соответствующие HTTP заголовки.

Давайте попробуем на практике. Пусть у нас будет два локальных домена: test.loc и targ.loc. Давайте попробуем отправить AJAX запрос со первого сайта на второй.

Пусть на сайте targ.loc есть страница ajax.php, отдающая какой-то текст:

targ.loc/ajax.php<?php
  echo 'text';
?>

Отправим AJAX запрос с сайта test.loc на сайт targ.loc:

test.loc/script.jslet response = await fetch('http://targ.loc/ajax.php');

let text = await response.text();
console.log(text);

В результате запрос не выполнится, а в консоли браузера мы увидим ошибку, связанную с политикой CORS.

Чтобы запрос выполнился, сайт targ.loc должен отдать специальные HTTP заголовки. Давайте их укажем - и запрос начнет проходить:

targ.loc/ajax.php<?php
  header('Access-Control-Allow-Origin: *');
  header('Access-Control-Allow-Headers: *');
  
  echo 'text';
?>
Задание 1

Отправьте в AJAX запросе куки с одного сайта на другой. Для этого укажите соответствующее значение настройки credentials.