Те же исключения политики домена? - PullRequest
1 голос
/ 01 апреля 2012

Когда я выполняю ajax-вызов с моего локального хоста на этот URL-адрес (Geo-данные) http://ws.geonames.org/searchJSON, я не получаю блокировку по той же самой политике происхождения. Как так ? Я думал, что это была блокировка на стороне клиента. Это потому, что полученные данные в формате JSON?

1 Ответ

1 голос
/ 17 апреля 2012

Это благодаря Распределению ресурсов между источниками или CORS.

В ответе HTTP-заголовка geonames.org задает Access-Control-Allow-Origin:*.

Это разрешает любое происхождение, включая localhost или stackoverflow.com

Чтобы увидеть его в действии, попробуйте этот код в Chrome (щелкните правой кнопкой мыши -> Проверить элемент - один из способов вызвать консоль), а затем проверьте вкладку «Сеть» на предмет заголовков запроса:

jQuery.ajax( {
     url: 'http://ws.geonames.org/searchJSON'
     , success: function(e){ console.log( "Success!", e ); }
     , error: function(e){ console.log( "Error.", e ); }
);
...