복붙노트

[JQUERY] 크로스 도메인 포스트에 자격 증명을 보내는?

JQUERY

크로스 도메인 포스트에 자격 증명을 보내는?

해결법


  1. 1.기능은 jQuery를 1.5 깨진 될 예정이다.

    기능은 jQuery를 1.5 깨진 될 예정이다.

    jQuery를 1.5.1 이후 당신은 xhrFields의 PARAM을 사용해야합니다.

    $.ajaxSetup({
        type: "POST",
        data: {},
        dataType: 'json',
        xhrFields: {
           withCredentials: true
        },
        crossDomain: true
    });
    

    문서 도구 : http://api.jquery.com/jQuery.ajax/

    보고 된 버그 : http://bugs.jquery.com/ticket/8146


  2. 2.당신은 세트 추가 매개 변수 (XMLHttpRequest 객체가 유일한 매개 변수로 전달됩니다)에 beforeSend 콜백을 사용할 수 있습니다.

    당신은 세트 추가 매개 변수 (XMLHttpRequest 객체가 유일한 매개 변수로 전달됩니다)에 beforeSend 콜백을 사용할 수 있습니다.

    그냥 알다시피, 크로스 도메인 요청이 유형은 일반 사이트 시나리오가 아닌 다른 브라우저에서는 작동하지 않습니다. 난 보안 제한하면 아무것도 벽에 머리를 이길 수 없습니다 만, 그래서 3.5을 강요하며뿐만 아니라 FF 모르겠어요 :

    $.ajax({
        url: 'http://bar.other',
        data: { whatever:'cool' },
        type: 'GET',
        beforeSend: function(xhr){
           xhr.withCredentials = true;
        }
    });
    

    조심하는 한 가지 더, jQuery를 정상화 브라우저 차이에 설치 것입니다. 당신은 더 제한이 이러한 유형의 기능을 금지 jQuery 라이브러리에 의해 부과되는 것을 알 수 있습니다.


  3. 3.jQuery를 3 아마도 이전 버전에서는 다음과 같은 간단한 설정은 개별 요청에 대해 작동합니다 :

    jQuery를 3 아마도 이전 버전에서는 다음과 같은 간단한 설정은 개별 요청에 대해 작동합니다 :

    $.ajax(
            'https://foo.bar.com,
            {
                dataType: 'json',
                xhrFields: {
                    withCredentials: true
                },
                success: successFunc
            }
        );
    

    전체 오류 나는 파이어 폭스 개발 도구에서 얻고 있었다 -> (개인 요청에 대한 보안 탭에서) 네트워크 탭했다 :

  4. from https://stackoverflow.com/questions/2054316/sending-credentials-with-cross-domain-posts by cc-by-sa and MIT license