后端已做了跨域处理,后端是tp5做的
Nginx
tp控制器里引入use think\facade\Hook;
在方法中调用 Hook::listen('my_cors');
问题:vue前端使用 await axios.get请求没问题,但是post请求会提示跨域
原因:
网上百度资料:跨域分为 简单跨域请求和复杂跨域请求:简单跨域请求是不会发送options请求的。
把request method:options 变成post,查询文档发现默认发送的是字符串格式,需要将其转化成URL的格式,以&进行拼接。
可以引入qs解决问题
方法步骤:
1、vue 引入qs
npm install qs
import qs from 'qs'
2、在请求方法中加入 qs.stringify(updata) updata是需要上传的数据
await axios.post('api',qs.stringify(updata)).then(function(res){
}).catch(function (error) {
});
结果完美解决!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏