fastadmin的专用方法:

修改文件:application/config.php,这是fa的配置文件。
修改属性 cors_request_domain,搜一下就找到了,在里面加上你的域名就行了

'cors_request_domain'   => 'localhost,127.0.0.1',

tp的通用方法:

修改文件:public/index.php,这是tp的入口文件

if(isset($_SERVER["HTTP_ORIGIN"]) && strpos($_SERVER["HTTP_ORIGIN"],'127.0.0.1:8000') !== false){// 跨域header('Access-Control-Allow-Origin: '.$_SERVER["HTTP_ORIGIN"]); //星号表示允许所有来源跨域请求,生产环境建议配置成你的来源站点的域名header("Access-Control-Allow-Headers: *");header('Access-Control-Allow-Methods:*');header('Access-Control-Expose-Headers:*');header('Access-Control-Allow-Credentials:true');if (strtoupper($_SERVER['REQUEST_METHOD']) == 'OPTIONS') { //浏览器的option试探请求,要exit掉,不然你的业务会被执行两次echo '{code: 0, msg: "OPTIONS", time: "", data: null}';exit();}
}

如果是多个域名都要适配,可以改成这样:

if(isset($_SERVER["HTTP_ORIGIN"]) && in_array($_SERVER["HTTP_ORIGIN"],['xxx','http://api.maoshu.fun','http://www.maoshu.fun'])){}

下面这句是允许跨域cookie的

header('Access-Control-Allow-Credentials:true');

下面这句的判断,是为了本地调试的,只有在本地调试的时候,才允许跨域,这样线上如果不需要跨域的话就更安全些

strpos($_SERVER["HTTP_ORIGIN"],'127.0.0.1:8000') !== false

拓展知识:

前端带cookie
XMLHttpRequest.withCredentials = true

jquery的$.ajax配置
xhrFields: {
withCredentials: true
},
crossDomain: true,

原文地址:https://maoshu.fun/posts/78dce704.html

thinkphp fastadmin 解决vue前后端分离项目的跨域问题 以及 OPTIONS请求类型相关推荐

  1. 前后端分离项目,跨域问题解决方案

    1.什么是跨域? 要了解跨域,先要说说同源策略. 同源策略是由 Netscape 公司提出的一个著名的安全策略,所有支持 JavaScript 的浏览器都会使用这个策略. 由于浏览器同源策略的限制,非 ...

  2. vue前后分离session实现_vue2 前后端分离项目ajax跨域session问题解决

    最近学习使用vuejs前后端分离,重构一个已有的后台管理系统,遇到了下面这个问题: 实现跨域请求时,每次ajax请求都是新的session,导致无法获取登录信息,所有的请求都被判定为未登陆. 1. v ...

  3. SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【后端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】

    前后端分离项目快速搭建[后端篇] 数据库准备 后端搭建 1.快速创建个SpringBoot项目 2.引入依赖 3.编写代码快速生成代码 4.运行代码生成器生成代码 5.编写application.pr ...

  4. SpringBoot+MyBatisPlus+Vue 前后端分离项目快速搭建【前端篇】【快速生成后端代码、封装结果集、增删改查、模糊查找】【毕设基础框架】

    前后端分离项目快速搭建[前端篇] 后端篇 前端篇 创建vue项目 安装所需工具 开始编码 1.在根目录下添加vue.config.js文件 2.编写main.js 3.编写App.vue 4.编写ax ...

  5. 阿里服务器部署springboot+vue前后端分离项目

    服务器部署springboot+vue前后端分离项目 最近刚刚在实习熟悉公司的业务,所有尝试着自己将项目部署到服务器上.本次部署的项目是Spring Boot+Vue前后端分离项目,后端使用的技术有M ...

  6. phython在file同时写入两个_喜大普奔,两个开源的 Spring Boot + Vue 前后端分离项目可以在线体验了

    折腾了一周的域名备案昨天终于搞定了. 松哥第一时间想到赶紧把微人事和 V 部落部署上去,我知道很多小伙伴已经等不及了. 1. 也曾经上过线 其实这两个项目当时刚做好的时候,我就把它们部署到服务器上了, ...

  7. 从0搭建一个Springboot+vue前后端分离项目(一)安装工具,创建项目

    从0搭建一个Springboot+vue前后端分离项目(二)使用idea进行页面搭建+页面搭建 参考学习vue官网文档 https://v3.cn.vuejs.org/guide/installati ...

  8. Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题

    Vue整合nginx:(1)开发环境npm run dev下,通过nginx解决前后端分离造成的跨域问题 参考文章: (1)Vue整合nginx:(1)开发环境npm run dev下,通过nginx ...

  9. React / Vue 前后端分离项目实现微信分享教程

    小编推荐:Fundebug专注于JavaScript.微信小程序.微信小游戏,Node.js和Java实时BUG监控.真的是一个很好用的bug监控费服务,众多大佬公司都在使用. 网上非常多的微信分享例 ...

最新文章

  1. Linux CPU信息
  2. method-dispatch/
  3. ARMCM3汇编指令
  4. 在SAP Spartacus的convertor函数里,直接修改输入参数target的值,会有什么问题
  5. 高职院校计算机基础课程要求,浅谈高职院校计算机的应用基础课程的改革.doc...
  6. mac下的svn服务器建立
  7. MySQL保存或更新 saveOrUpdate
  8. android 百分比loading,牛逼的loading加载效果
  9. centos7.8离线安装gcc
  10. Android对话框动态加载布局
  11. 如何使用WinDbg查找蓝屏原因
  12. Wineskin不能打开添加的程序?macOS版本太高?
  13. MySQL字符串拼接函数使用
  14. Android Binder机制
  15. 51单片机8位数码管时钟c语言,基于c51单片机8位数码管显示电子时钟程序
  16. python中grid的用法_python pack()和grid()方法一起使用
  17. Typora完整教程
  18. 豆瓣电影评分(微信小程序)——Day1
  19. ioc和aop全称是什么
  20. NAND FLAASH基础

热门文章

  1. ProE中文版安裝問題
  2. 零氪科技IPO:靠卖保健品为生,医疗科技是个“伪命题”?
  3. 720不能建立远程计算机连接,上网拨号提示“错误720:不能建立到远程计算机的连接”的解决方法...
  4. 北京单位申请小客车指标条件
  5. 英国留学生考文垂大学本科没有毕业只能原地坐以待毙
  6. 专科生出国留学可以去的国家,本文都帮你总结好了
  7. python矩阵运算法则_导数与梯度、矩阵运算性质、科学计算库numpy
  8. 高精度光照传感器基本介绍
  9. 蓝牙耳机什么牌子适合新手?选购不踩雷最强攻略,2021蓝牙耳机分享
  10. 计算机专业群名有内涵,有创意的寝室群名字 好听有内涵的寝室名称