이번에는 크로스 도메인 솔루션 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-urlencoded
、multipart/form-data
和text/plain
),并且不能出现任何自定义头(例如,X-Custom: 12345
)对于PUT、DELETE以及其他类型如
application/json
的POST请求,在发送AJAX请求之前,浏览器会先发送一个OPTIONS
请求(称为preflighted请求)到这个URL上,询问目标服务器是否接受:浏览器确认服务器响应的
Access-Control-Allow-Methods
간단한 요청에는 GET, HEAD 및 POST가 포함됩니다. POST의 Content-Type은
application/x-www-form-urlencoded로 제한됩니다. 코드 >
,multipart/form-data
및text/plain
), 사용자 정의 헤더는 표시될 수 없습니다(예:X-Custom: 12345
)
PUT의 경우 , DELETE 및 application/json
POST 요청
OPTIONS
요청(preflighted라고 함)을 보냅니다. 요청)을 이 URL로 전송하고 대상 서버에 수락 여부를 묻습니다.
//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(); } });
위 내용은 도메인 간 해결 방법 요청 CORS의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!