Как сделать кроссдоменный AJAX–запрос?
В PHP существует такое понятие, как «CORS» – технология, позволяющая предоставить ресурсы другому домену. С помощью этой технологии реализовывается кроссдоменный запрос, и как именно, я сейчас покажу.
Предположим, что у вас есть два сайта, один с поддержкой PHP, а другой – нет.
На том сайте, где есть поддержка PHP, в корне сайта вы размещаете PHP-файл, например, со следующим содержимым:
<?php
echo "Hello, world!";
?>
А на сайте, где поддержки PHP нет, вы пытаетесь получить результат скрипта выше через jQuery:
<div id="result"></div>
<script>
$(function() {
$('#result').load('http://domain-one.ru/test.php');
});
</script>
Но вы в таком случае не сможете получить данные с другого сайта. Чтобы добавить домен, на котором нужно вывести информацию в, так сказать, список доверия, вам необходимо в PHP-файле сразу после <?php вставить следующие строки:
header("Access-Control-Allow-Origin: http://domain-two.ru");
header("Access-Control-Allow-Credentials: true");
Где «domain-two.ru» – домен, которому мы разрешаем получать информацию. Сохраняем изменения, и уже в таком случае информация на другом домене будет получена.