Может ли кто-нибудь помочь мне лучше понять политику межсайтовых сценариев - PullRequest
1 голос
/ 05 января 2012

Я пытаюсь лучше понять межсайтовый скриптинг и позволяет использовать:

http://api.beatport.com/crossdomain.xml в качестве примера.

В списке XML указано, что всем доменам разрешен доступ. Однако, когда я делаю запрос изнутри моей HTML-страницы (или из консоли), он завершается с ошибкой с ошибкой, похожей на:

XMLHttpRequest cannot load http://api.beatport.com/catalog/tracks. Origin <mydomain> is not allowed by Access-Control-Allow-Origin.

Хотя я нахожу странным то, что, если я помещаю запрос в адресную строку моего браузера, запрос проходит.

Может кто-нибудь объяснить, что происходит и что мне нужно сделать, чтобы это исправить, потому что API-интерфейс разрешает доступ из любого домена.

1 Ответ

4 голосов
/ 05 января 2012

XMLHttpRequest не смотрит на crossdomain.xml, он смотрит на заголовок Access-Control-Allow-Origin, как упомянуто в сообщении об ошибке.

Таким образом, сервер должен отправить заголовок, подобный этому:

Access-Control-Allow-Origin: *

Если они не отправляют этот заголовок (http://api.beatport.com/catalog/tracks нет), он будет отклонен.

...