一直以来都对跨域不太清楚,除了对协议、域名、端口其他就不甚了解
跨域通常解决方法:因为script、link、img等的src不存在跨域问题,所以我们可以通过做这些跳过浏览器跨域,但是这些都是解决get请求的,可前端解决,如果存在post请求根本上还是后台解决,设置允许跨域
除了以上的会造成跨域问题,还有一个是最近一个vue+axios项目需要在header里面设置token加密验证,因为这种需要setHeader自定义key值,不是sample request,会存在options预检,预检出现未定义key,会报跨域问题(报错404),后台需要允许设置自定义key值
//后台.htaccess加上以下内容
Header always set Access-Control-Allow-Methods "GET, POST, OPTIONS"
Header always set Access-Control-Allow-Origin "前端域名"
Header always set Access-Control-Allow-Credentials true
Header always set Access-Control-Allow-Headers "accept, content-type,accept-language,自定义头部"
RewriteEngine On
RewriteCond %{REQUEST_METHOD} OPTIONS
RewriteRule ^(.*)$ $1 [R=200,L]