Запрос на перекрестный запрос заблокирован: политика одного и того же происхождения запрещает чтение удаленного ресурса в
Я использую CometChat
на своем веб-сайте, а недавно мои пользователи сталкиваются с этой проблемой при получении сообщений. После проверки в FireBug я понял, что это должно быть из-за защиты CORS (из-за следующей ошибки), что script не работает.
Запрос на перекрестный запрос заблокирован: политика одинакового происхождения запрещает чтение удаленный ресурс в http://x3.chatforyoursite.com/subscribe/... Это можно устранить, перемещая ресурс в тот же домен или включение CORS.
Теперь мне интересно, где я должен включить CORS, потому что он включен на моем собственном сервере, и у меня нет доступа к серверу CometChat
.
Ответы
Ответ 1
Серверу x3.chatforyoursite.com
необходимо вывести следующий заголовок:
Access-Control-Allow-Origin: http://www.example.com
Где http://www.example.com
- ваш адрес веб-сайта. Вы должны проверить свои настройки на chatforyoursite.com
, чтобы узнать, можете ли вы включить это - если бы не их техническая поддержка, вероятно, был бы лучшим способом решить эту проблему. Однако, чтобы ответить на ваш вопрос, вам нужен удаленный сайт, чтобы ваш сайт мог получить доступ к клиентской стороне ответов AJAX.
Ответ 2
Случай использования для CORS прост. Представьте, что на сайте alice.com есть некоторые данные, которые сайт bob.com хочет получить. Этот тип запроса традиционно не допускается в соответствии с политикой того же самого браузера. Однако, поддерживая запросы CORS, alice.com может добавить несколько специальных заголовков ответов, которые позволяют bob.com получать доступ к данным.
Чтобы это понять, посетите этот хороший учебник.
Как решить проблему CORS