크로스 도메인 은 어떤 상황에서 발생하나요?
도메인 이름은 http://www.example.com.cn/이라고 가정합니다.
요청한 도메인 이름이 이 도메인 이름과 다른 경우에는 크로스 도메인에 허점이 있기 때문에 이러한 상황은 크로스 도메인입니다. 도메인인 경우 일반적으로 크로스 도메인 요청 방식을 요청할 수 없습니다.
해결책:
1. window.name 1. 서버가
<script>window.name='{"id":"3", "name":"leisure"} ';</script>
2. iframe 정의 및 onload 이벤트 추가
3. 양식을 정의하고 해당 양식의 대상을 iframe의 ID로 설정한 다음 양식을 제출합니다.
2. JSONP
서버가 콜백({"id": "3", "name": "leisure"})을 반환합니다.
3. jQuery.getJSON
서버는 json 형식의 데이터 test({"id": "3", "name": "leisure"}); 테스트 함수 이름은 콜백 매개변수에 정의됩니다 $.getJSON(url " ?callback=?", data, function(data) {
}
callback=? 매개변수에 유의하세요. 가져와야 합니다. jquery는 물음표를 대체할 함수 이름을 자동으로 생성합니다. jQuery.getJSON 실제로는 JSONP를 사용하여 구현됩니다.
4. 크로스 도메인 플래시
서버에 crossdomain.xml 추가 http://www.example.com.cn/crossdomain.xml
;cross-domain-policy>