Основное правило
Same Origin Policy применяется на любой HTTP-вызова, сделанного из страницы в домене, отличном что домен веб-страницы (включая поддомен) другие, чем для GET вызова.
Это означает, что если вы добавите на страницу тег сценария, загрузите изображение или выполните любой HTTP-вызов, который использует метод GET, то у вас нет проблем. Если, с другой стороны, вы пытаетесь использовать другой метод, такой как POST, PUT, DELETE и т. Д., В другой домен, тогда браузер заблокирует вызов и выдаст ошибку.
Пути вокруг этого
Есть, однако, несколько способов, где вы можете обойти эту проблему.
Первый заключается в использовании вызова GET, но другая сторона интерпретирует вызов как нечто другое. Прекрасным примером этого является метод JSONP, в котором мы добавляем тег сценария на страницу (который является вызовом GET), а сервер, отвечающий на вызов GET, не возвращает только обычный JS-скрипт, а скорее он возвращает «однозначно настроенный» ответ, который ссылается на код на исходной странице, чтобы сообщить ему, что он имеет подходящий ответ.
Существует несколько шаблонов для достижения этой цели, наиболее распространенной является сборка в jQuery, где GET-вызов добавляет параметр запроса с именем функции, а возвращаемый скрипт вызывает эту функцию в глобальной области. jQuery прослушал этот вызов и ответил соответствующим образом. Чтобы узнать больше идти к этому ответу: Confused on how a JSONP request works
Непредсказуемого
Новый способ обойти эту проблему, которая является гораздо более чистым решением, чем JSONP то, что называется CORS, который является своим родом договора между браузером и веб-сервером. По сути, что делает браузер (при условии, что он поддерживает CORS, старые браузеры этого не делают), вместо того, чтобы полностью блокировать вызов «не GET», браузер сначала выполнит вызов OPTIONS на веб-сервере. Веб-сервер рассмотрит запрос и определит, какие «варианты» (методы AKA) для этого клиента имеют для связи с ним. По умолчанию используется только один вариант: вызов GET, но вы можете настроить свой веб-сервер для поддержки других параметров, таких как PUT, DELETE и т. Д. Чтобы узнать больше о CORS смотрите на https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS
https: //developer.mozilla .org/en-US/docs/Web/Security/Same-origin_policy попробуйте посмотреть, что – Binvention
SOP никогда не блокировал запросы.Он сделал (и делает) блокировать доступ к ответу. – Bergi
Вы ищете [CORS] (https://en.wikipedia.org/wiki/Cross-origin_resource_sharing) – Bergi