Intereting Posts
Добавить текст в изображение, используя php gd и google webfonts Отправка массива с php на python WordPress Рекомендуемое изображение | Все сообщения, соответствующие имени файла изображения хранить временную строку AM PM в типе данных TIME в MySQL и получать с AM PM во время отображения? Предупреждение: exec () отключен по соображениям безопасности Перенаправление запросов изображений через .htaccess в зависимости от наличия файла laravel разница сеанса :: flash и request-> session-> flash Многомерный поиск массива с использованием php Как хранить последовательные данные в mysql Преобразователь данных Symfony2 на скрытом поле RabbitMQ ждет завершения нескольких очередей извлекать cookie с помощью curl и устанавливать этот файл cookie пользователю Magento – Как вы возвращаете результаты неограниченного статического блока CMS (с определенным «Идентификатором») на страницу CMS Как передать переменные jQuery в переменную PHP? Найти min / max в двухмерном массиве

Внедрение междоменной связи между сайтами через CORS с использованием PHP и Javascript

После нескольких дней просмотра в Интернете и попыток всевозможных действий я узнал о проблемах с моим хост-сервером. Он был отключен моим хост-сервером. Итак, я подумал о том, чтобы опубликовать свой код в Stackoverflow, так что никто больше на SO не теряет время, как я.

Фрагмент кода отлично работает на IE, Safari, Mozilla и Chrome.

Код Javascript для клиентской стороны

<script type='text/javascript'> // function for making an object for making AJAX request function getXMLHTTPRequest() { try { req = new XMLHttpRequest(); } catch(err1) { try { req = new ActiveXObject("Msxml2.XMLHTTP"); } catch (err2) { try { req = new ActiveXObject("Microsoft.XMLHTTP"); } catch (err3) { req = false; } } } return req; } var http899 = getXMLHTTPRequest(); function searchFabIndia() { var myurl = "http://my2nddomain.com/yebhi.php"; myRand = parseInt(Math.random()*999999999999999); var modurl = myurl+"?rand="+myRand; http899.open("GET", modurl, true); http899.onreadystatechange = useHttpResponse899; http899.send(null); } function useHttpResponse899() { if (http899.readyState == 4) { if(http899.status == 200) { // do all processings with the obtained values / response here } } } </script> <body onload='searchFabIndia();'> 

Часть кода, требуемая на стороне сервера. Вам нужно указать источник (источники), которые могут запрашивать содержимое страницы, разрешать методы и заголовки. Эти настройки могут быть сохранены либо в файле .htaccess вместе для всех файлов второго домена, на который вы выполняете запрос, либо можете поместить их в свой конкретный файл PHP, как показано: –

  <?php header("Access-Control-Allow-Origin: *"); header("Access-Control-Allow-Methods: GET, POST, OPTIONS, PUT, DELETE"); header("Access-Control-Allow-Headers: Content-Type, Depth, User-Agent, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control"); header("Access-Control-Max-Age: 18000"); // Put it in your PHP file ?> 

ИЛИ иначе вы можете указать эти параметры для всего домена / субдомена вместе, указав то же самое в файле .htaccess, как показано: –

 <IfModule mod_headers.c> <FilesMatch "\.(php)$"> Header set Access-Control-Allow-Origin: * Header set Access-Control-Allow-Methods : POST,GET,OPTIONS,PUT,DELETE </FilesMatch> </IfModule> 

Также не обязательно, чтобы учетные данные для всех рефереров иногда не нужны, поэтому в этом случае вы можете указать конкретный домен / поддомен, называя их, каждый из которых разделяется запятой (,), как показано

 Header set Access-Control-Allow-Origin: http://abc.com,http://def.com,http://ghi.com 

Прошу прокомментировать, если вы сталкиваетесь с некоторыми трудностями при реализации любого из них. Вы можете увидеть живое демо того, что я упомянул здесь