跨域
出于浏览器的同源策略限制。同源策略(Sameoriginpolicy)是一种约定,它是浏览器最核心也最基本的安全功能,如果缺少了同源策略,则浏览器的正常功能可能都会受到影响。可以说Web是构建在同源策略基础之上的,浏览器只是针对同源策略的一种实现。同源策略会阻止一个域的javascript脚本和另外一个域的内容进行交互。
简单来说:在前后端分离开发的时候,由于前端使用一些框架等,会出现跨域的问题。
更多跨域相关可以参考:
Web跨域请求及其解决方案
什么是跨域?跨域解决方法
经典解决方法
一般而言,只需要加入以下三行代码即可解决
//指定允许其他域名访问
header('Access-Control-Allow-Origin:*');
//响应类型
header('Access-Control-Allow-Methods:*');
//响应头设置
header('Access-Control-Allow-Headers:x-requested-with,content-type');
但是这个方法在thinkphp框架中使用时,如果有多个控制器,或控制器下的方法比较多,又不能明确确定哪些需要跨域哪些不需要的情况下,逐个方法添加这三行代码,显得非常僵硬。
workaround:代码上的优化</