웹 프론트엔드 JS 튜토리얼 jquery는 클라이언트 교차 도메인 액세스 문제를 해결합니다_jquery

jquery는 클라이언트 교차 도메인 액세스 문제를 해결합니다_jquery

May 16, 2016 pm 04:22 PM
jquery 고객 교차 도메인

클라이언트 측 "교차 도메인 액세스"는 항상 골치 아픈 문제였습니다. 다행히도 jQuery의 도움으로 jQuery-1.2 이후로 도메인 간 문제가 해결되었습니다. 프로젝트에서 크로스 도메인 문제에 직면했기 때문에 이 기회를 통해 크로스 도메인 문제를 조사하고 관련 정보와 내 실무를 상담하여 마침내 크로스 도메인 문제를 해결했습니다. 참고용으로 녹음하세요.

jQuery.ajax()는 실제로 jsonp를 사용하여 수행되는 도메인 간 가져오기 메서드를 지원합니다.

실제 사례:

코드 복사 코드는 다음과 같습니다.

$.ajax({
비동기:거짓,
​​​​​​ url: 'http://www.mysite.com/demo.do', // 크로스 도메인 URL
            유형: 'GET',
데이터 유형: 'jsonp',
               jsonp: 'jsoncallback', //기본 콜백
데이터: 마이데이터,
시간 초과: 5000,
                beforeSend: function(){ //이 메서드는 jsonp 모드에서는 트리거되지 않습니다. 이유는 dataType이 jsonp로 지정되면 더 이상 ajax 이벤트가 아니기 때문일 수 있습니다
            },
성공: 함수(JSON) {// 클라이언트 JQuery의 사전 정의된 콜백 함수입니다. 크로스 도메인 서버에서 JSON 데이터를 성공적으로 얻은 후 이 콜백 함수는
If(json.actionErrors.length!=0){
경고(json.actionErrors)
~                     genDynamicContent(qsData,type,json)
             },
완료: 함수(XMLHttpRequest, textStatus){
                      $.unblockUI({ fadeOut: 10 });              },
​​​​​​ 오류: 함수(xhr){
밖으로 나가서 밖으로 나가고 싶어 밖으로 나가기 out over through out over over over over so so so so so so so so so so so so so so so so so so so so so so so so so so so 그래서 그래서 그래서 그래서 그래서 그래서 그래서 그렇게 에 에 에 에 에 에 에 에 에 에 던지려고 에 에 이 메소드와 이 메소드 메소드 메소드 메소드 메소드 메소드 대 메소드 메소드에서 메소드 메소드 트리거하지 않음
//오류 처리 요청
Alert("요청 오류(해당 네트워크 상태를 확인해주세요.)");                }
        });



참고:

코드 복사 코드는 다음과 같습니다. $.getJSON("
http://www.mysite.com/demo.do?name1=" value1 "&callback
=?",
              함수(json){ If(json.property name==value){ //코드 실행
~          })

이 방법은 실제로 위 예에서 $.ajax({..}) API의 고급 캡슐화입니다. $.ajax API의 기본 매개변수 중 일부는 캡슐화되어 표시되지 않습니다.

서버 측에서는 callback= request.getParameter("callback")을 사용하여 나중에 jQuery 측에서 다시 호출할 jsonp32440980을 가져옵니다.
그런 다음 다음과 같이 반환합니다: "jsonp32440980(" 반환할 json 배열 ")"
jquery는 콜백 메소드를 통해 이를 동적으로 로드하고 호출합니다: jsonp32440980 (json array); 이는 도메인 간 데이터 교환의 목적을 달성합니다.
jsonp의 가장 기본적인 원칙은 동적으로 하나를 추가하는 것이 일관성이 있다는 것입니다(qq 공간은 이 방법을 사용하여 도메인 간 데이터 교환을 달성합니다). JSONP는 일종의 스크립트 주입(ScriptInjection) 동작이므로 일정한 보안 위험도 있습니다.

참고: jquey는 도메인 간 게시를 지원하지 않습니다.

이는 iframe을 동적으로 생성하기 위해 post를 사용하면 post cross-domain의 목적을 달성할 수 있기 때문입니다(js 전문가가 jquery1.2.5를 패치한 방법임). 이는 상대적으로 극단적인 방법이므로 권장되지 않습니다. get의 도메인 간 액세스 방법은 합법적이며 post 방법은 보안 측면에서 불법으로 간주되므로 클라이언트에서 도메인 간 액세스를 요구하는 최후의 수단으로 게시하지 않는 것이 좋습니다. 정보에 따르면 html5 WebSocket 표준은 도메인 간 데이터 교환을 지원하며 향후 선택적 도메인 간 데이터 교환 솔루션이 되어야 합니다.

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

연결하는 동안 VMware Horizon 클라이언트가 정지되거나 정지됨 [수정] 연결하는 동안 VMware Horizon 클라이언트가 정지되거나 정지됨 [수정] Mar 03, 2024 am 09:37 AM

연결하는 동안 VMware Horizon 클라이언트가 정지되거나 정지됨 [수정]

jQuery 참조 방법에 대한 자세한 설명: 빠른 시작 가이드 jQuery 참조 방법에 대한 자세한 설명: 빠른 시작 가이드 Feb 27, 2024 pm 06:45 PM

jQuery 참조 방법에 대한 자세한 설명: 빠른 시작 가이드

PHP MQTT 클라이언트 개발 가이드 PHP MQTT 클라이언트 개발 가이드 Mar 27, 2024 am 09:21 AM

PHP MQTT 클라이언트 개발 가이드

jQuery에서 PUT 요청 방법을 사용하는 방법은 무엇입니까? jQuery에서 PUT 요청 방법을 사용하는 방법은 무엇입니까? Feb 28, 2024 pm 03:12 PM

jQuery에서 PUT 요청 방법을 사용하는 방법은 무엇입니까?

Baidu Netdisk 웹페이지에서 클라이언트를 시작할 수 없는 문제를 해결하는 방법은 무엇입니까? Baidu Netdisk 웹페이지에서 클라이언트를 시작할 수 없는 문제를 해결하는 방법은 무엇입니까? Mar 13, 2024 pm 05:00 PM

Baidu Netdisk 웹페이지에서 클라이언트를 시작할 수 없는 문제를 해결하는 방법은 무엇입니까?

jQuery를 사용하여 요소의 높이 속성을 제거하는 방법은 무엇입니까? jQuery를 사용하여 요소의 높이 속성을 제거하는 방법은 무엇입니까? Feb 28, 2024 am 08:39 AM

jQuery를 사용하여 요소의 높이 속성을 제거하는 방법은 무엇입니까?

jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요. Feb 28, 2024 pm 09:06 PM

jQuery 팁: 페이지에 있는 모든 태그의 텍스트를 빠르게 수정하세요.

jQuery를 사용하여 모든 태그의 텍스트 내용 수정 jQuery를 사용하여 모든 태그의 텍스트 내용 수정 Feb 28, 2024 pm 05:42 PM

jQuery를 사용하여 모든 태그의 텍스트 내용 수정

See all articles