>웹 프론트엔드 >JS 튜토리얼 >도메인 간 해결 방법 요청 CORS

도메인 간 해결 방법 요청 CORS

php中世界最好的语言
php中世界最好的语言원래의
2018-03-19 16:25:353885검색

이번에는 크로스 도메인 솔루션 CORS 요청에 대해 알려드리겠습니다. 크로스 도메인 솔루션 CORS 요청 시 주의사항은 무엇인가요? Cross-Origin Resource

Sharing의 전체 이름인

CORS는 HTML5 사양에 정의된 대로 도메인 간 리소스에 액세스하는 방법입니다.

Origin은 브라우저의 현재 페이지의 도메인인 이 도메인을 나타냅니다. JavaScript가 외부 도메인(예: sina.com)에 대한 요청을 시작하면 브라우저는 응답을 받은 후 먼저 Access-Control-Allow-Origin에 이 도메인이 포함되어 있는지 확인합니다. 이번에는 교차 도메인 요청이 성공합니다. 그렇지 않으면 요청이 실패하고 JavaScript는 응답에서 어떤 데이터도 얻을 수 없습니다. Access-Control-Allow-Origin是否包含本域,如果是,则此次跨域请求成功,如果不是,则请求失败,JavaScript将无法获取到响应的任何数据。

简单请求包括GET、HEAD和POST(POST的Content-Type类型 仅限application/x-www-form-urlencodedmultipart/form-datatext/plain),并且不能出现任何自定义头(例如,X-Custom: 12345

对于PUT、DELETE以及其他类型如application/jsonPOST请求,在发送AJAX请求之前,浏览器会先发送一个OPTIONS请求(称为preflighted请求)到这个URL上,询问目标服务器是否接受:

浏览器确认服务器响应的Access-Control-Allow-Methods

간단한 요청에는 GET, HEAD 및 POST가 포함됩니다. POST의 Content-Type은 application/x-www-form-urlencoded로 제한됩니다. 코드 >, multipart/form-datatext/plain), 사용자 정의 헤더는 표시될 수 없습니다(예: X-Custom: 12345)

PUT의 경우 , DELETEapplication/jsonPOST 요청

, AJAX 요청을 보내기 전에 브라우저는 먼저 OPTIONS 요청(preflighted라고 함)을 보냅니다. 요청)을 이 URL로 전송하고 대상 서버에 수락 여부를 묻습니다.

브라우저는 서버 응답의 Access-Control-Allow-Methods 헤더에 실제로 AJAX의 메서드가 포함되어 있는지 확인합니다. 계속해서 AJAX를 보내세요. 그렇지 않으면 오류가 발생합니다.


//express后端配置:app.all('*', function(req, res, next) {
    res.header("Access-Control-Allow-Credentials","true");  //服务端允许携带cookie
    res.header("Access-Control-Allow-Origin", req.headers.origin);  //允许的访问域
    res.header("Access-Control-Allow-Headers", "X-Requested-With");  //访问头
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");  //访问方法
    res.header("X-Powered-By",' 3.2.1');
    res.header("Content-Type", "application/json;charset=utf-8");    if (req.method == 'OPTIONS') {
        res.header("Access-Control-Max-Age", 86400);
        res.sendStatus(204); //让options请求快速返回.    }    else {
        next();
    }
});
🎜이 기사의 사례를 읽은 후 방법을 마스터했다고 생각합니다. 더 흥미로운 내용을 보려면 PHP에 주목하세요. 중국사이트🎜기타🎜관련 기사! 🎜🎜추천 도서: 🎜🎜🎜JavaScript 문자열 사용 방법🎜🎜🎜🎜🎜JavaScript 최적화 DOM🎜🎜🎜

위 내용은 도메인 간 해결 방법 요청 CORS의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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