내가 실수 (jQuery를 함께) NextBus에 도메인 간 AJAX 호출을 썼다 :이 교차 도메인 아약스 호출이 실제로 작동하는 이유는 무엇입니까?
$.ajax({
url: 'http://webservices.nextbus.com/service/publicXMLFeed?command=predictions&a=sf-muni&r=1&s=6294',
dataType: 'xml',
success: function(data) {
do_stuff();
}
});
것이 인이 다른 도메인에서 오는에도 불구하고, 모든 브라우저에서 작동합니다. 단일 오리진 정책이 주어진다면 이것이 실제로 작동하는 이유는 무엇입니까?
페이지가 여기에 있습니다 : http://sftransitfirst.org/F/, 풀다운에서 정지를 선택하면 아약스가 트리거됩니다.
예상대로, Google Maps API Web Services에 대한 비슷한 호출은 익숙한 Origin ... is not allowed by Access-Control-Allow-Origin
(그리고 jsonp를 지원하지 않음)으로 실패합니다.
Google URL이 "https"이기 때문에 생각하십니까? 확실하지 않음 –
해당 URL의 응답 헤더 집합에'Access-Control-Allow-Origin : *'이 포함되어 있습니다. [CORS] (https://secure.wikimedia.org/wikipedia/en/wiki/Cross-origin_resource_sharing) –
@Rob 답변으로 작성하십시오.) – Christoph