Этот код можно использовать в сочетании с jQuery, чтобы вставить кнопку на странице, чтобы пользователи могли использовать ссылку на мой сайт.
<div class="button" data-text="Button text" data-url="http://externalserver.com">
</div>
<script src="http://mainserver.co.uk/api.js"></script>
Файл javascript должен использовать xmlHTTPrequest для подключения к файлам php, чтобы проверить, вошли ли вы в систему или нет, и затем опубликовать комментарий на моем сайте. Это очень просто, поскольку все, что вам нужно сделать, это нажать кнопку, которую она создает. Или нет.
Ну, он отлично работает на любой странице http://mainserver.co.uk, но на моем внешнем сервере он просто показывает ошибки консоли, такие как
XMLHttpRequest cannot load filename. Origin http://externalserver.com is not allowed by Access-Control-Allow-Origin.
Ну, я знаю, это должно быть возможно, потому что твиттер, google и facebook могут все это сделать, так почему я не могу?
РЕДАКТИРОВАТЬ
Хорошо, спасибо. но это все еще проблема.
У пользователей есть сеансы на основном сайте, которые сообщают веб-странице, что они вошли в систему.
Используя этот код, я могу проверить это.
<?php
session_start();
header("Access-Control-Allow-Origin: *");
if (isset($_SESSION["user"]))
{
echo "0";
}
else
{
echo "1";
}
?>
Когда я вошел в систему и запустил этот код, он возвращает 0 на основном сайте, но 1 на внешнем сайте, как будто я только вошел в систему при тестировании на основном сайте
Происхождение http://externalserver.com не разрешено Access-Control-Allow-Origin.
Если ваш JavaScript работает на example.com, а сервер, на который вы запрашиваете, находится в example.net. Удостоверьтесь, что он позволяет странице js запускается этим заголовком
<?php header('Access-Control-Allow-Origin: http://example.com/ajax.html'); ?>
или
<?php header('Access-Control-Allow-Origin: *'); ?>
(подстановочный знак позволяет любому домену отправлять запросы на ваш хост. Я рекомендую заменить звездочку на определенный домен, на котором будут запускаться скрипты)
Также вам нужно отправить заголовок Origin с ajax на сервер
Origin: http://example.com/ajax.html
XMLHttpRequest не может загрузить имя файла.