>  기사  >  웹 프론트엔드  >  도메인 간 요청 POST 솔루션 소개

도메인 간 요청 POST 솔루션 소개

不言
不言앞으로
2019-04-04 10:48:383963검색

이 글은 크로스 도메인 요청 POST에 대한 솔루션을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.

교차 도메인 요청 POST 솔루션

쿠키는 일반적으로 도메인을 교차할 수 없으며 POST 요청도 일반적으로 도메인을 교차할 수 없습니다.
    //     请求代码示例
    $.ajax({
        url: url,
        type: "POST",
        data: metadata,
        dataType: 'json',
        xhrFields: {  
            withCredentials: true  
        },  
        crossDomain: true,
        success: function(){},
        error: function(){}
    });

1. 기본적으로 ajax(XMLHttpRequest() objectMicrosoft.XMLHTTP object 아래)에는 동일한 원본 정책이 적용되며 도메인 간 요청을 허용하지 않습니다.

2. jsonp의 크로스 도메인은 이러한 제한을 피하기 위해 페이지를 사용하여 크로스 도메인 리소스를 참조하는 스크립트 태그를 동적으로 추가하는 것이지만 게시 방법이 없습니다.

Solution: 서버 측 설정에서 도메인 간 Ajax 요청 허용
    ##     服务端设置允许跨域代码,eg:
    header("Access-Control-Allow-Credentials: true");

    header("Access-Control-Allow-Origin: http://www.xxx.com");

    ## 设置成功后,在接口请求的Response Headers会看到一下以下允许跨越信息
    {
        Access-Control-Allow-Credentials:true
        Access-Control-Allow-Headers:x-requested-with,content-type
        Access-Control-Allow-Methods:POST
        Access-Control-Allow-Origin:http://www.aipai.com
    }

쿠키에 대한 도메인 간 솔루션

Ajax 도메인 간 요청 문제는 해결되었지만 백엔드가 인터페이스를 통해 쿠키를 얻어야 하는 경우 쿠키도 존재하는 교차 도메인 문제

쿠키에 대한 교차 도메인 솔루션: 요청에 다음 매개변수를 추가하면 요청 헤더 정보에 쿠키 정보
    // 代码
    $.ajax({
        ...
        xhrFields: {  
            withCredentials: true  
        },
        ...
    });

가 함께 제공됩니다.[관련 권장 사항: JavaScript 비디오 튜토리얼]

위 내용은 도메인 간 요청 POST 솔루션 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 segmentfault.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제