«

JS跨域CORS方案

时间:2026-10-18 07:24     作者:emer     分类: 无


JS跨域CORS方案

引言

浏览器同源策略要求协议、域名、端口完全一致,前端页面访问另一个域名的接口就会被拦截报跨域错误。CORS是目前最标准、主流的跨域解决方式,由后端配合响应头放行。

什么是同源策略

三个任意一项不同都算跨域:

CORS后端响应头(PHP)

<?php
header('Access-Control-Allow-Origin: https://www.example.com');
header('Access-Control-Allow-Methods: GET,POST,OPTIONS');
header('Access-Control-Allow-Headers: Content-Type,Authorization');
header('Access-Control-Allow-Credentials: true');

携带cookie时Allow-Origin不能写*,必须指定具体域名,且前端请求withCredentials为true。

预检请求OPTIONS

POST JSON等复杂请求,浏览器会先发OPTIONS预检,后端要直接放行OPTIONS,返回204,否则正式请求发不出去。

其他常见跨域方式对比

注意事项

总结

CORS是前后端分离首选方案,核心是后端设置允许来源、方法、响应头。复杂请求先处理OPTIONS预检,带cookie时指定具体域名,安全可控,比JSONP和代理更规范。

标签: 跨域 CORS 前端 同源策略 响应头