使用vue2+Axios遇到的一些坑

1. 向服务器请求两次的情况

  • (1)axios的默认请求头是Content-Type: application/json,使用这个请求头会出现向服务器请求两次的情况;
    (2)浏览器会首先使用 OPTIONS 方法发起一个预请求,判断接口是否能够正常通讯,如果不能就不会发送真正的请求过来,
    如果测试通讯正常,则开始真正的请求;
    浏览器对后台说:我可以请求你吗? ( ̄ˇ ̄) 
    后台说:阔以。( ̄▽ ̄)~*
    结果是:发送原有的GET(POST)请求
    后台说:不阔以。(‵﹏′)
    结果是:报错
  • (3)解决方法:设置axios的默认请求头axios.defaults.headers['Content-Type'] = 'application/x-www-form-urlencoded'(使用qs模块可以不设置,qs模块会自己设置。)
    (4)设置之后,后台不认这个数据格式,所以在传递的时候必须先把数据转换格式;
    // step1. npm install qs
    // step2. 在main.js中,引入qs模块
    import qs from 'qs';
    // 需要时调用qs.stringify()方法
    this.$axios.post('api/login', qs.stringify({ 
        name: 'xxx', 
        password: '********' 
    }).then(res => {
        
    }).catch(err => {
    
    });

努力可以改变能力

266 声望
8 粉丝
0 条评论
推荐阅读
mysql查询数据时自动生成序号
方法一,声明一个外部变量,每行数据为它自增。 {代码...} 方法二,使用(@i:=@i+1) {代码...}

前端小菜阅读 330

「多图预警」完美实现一个@功能
一天产品大大向 boss 汇报完研发成果和产品业绩产出,若有所思的走出来,劲直向我走过来,嘴角微微上扬。产品大大:boss 对我们的研发成果挺满意的,balabala...(内心 OS:不听,讲重点)产品大大:咱们的客服 I...

wuwhs40阅读 4.8k评论 5

封面图
ESlint + Stylelint + VSCode自动格式化代码(2023)
安装插件 ESLint,然后 File -> Preference-> Settings(如果装了中文插件包应该是 文件 -> 选项 -> 设置),搜索 eslint,点击 Edit in setting.json

谭光志34阅读 20.8k评论 9

安全地在前后端之间传输数据 - 「3」真的安全吗?
在「2」注册和登录示例中,我们通过非对称加密算法实现了浏览器和 Web 服务器之间的安全传输。看起来一切都很美好,但是危险就在哪里,有些人发现了,有些人嗅到了,更多人却浑然不知。就像是给门上了把好锁,还...

边城32阅读 7.3k评论 5

封面图
涨姿势了,有意思的气泡 Loading 效果
今日,群友提问,如何实现这么一个 Loading 效果:这个确实有点意思,但是这是 CSS 能够完成的?没错,这个效果中的核心气泡效果,其实借助 CSS 中的滤镜,能够比较轻松的实现,就是所需的元素可能多点。参考我们...

chokcoco24阅读 2.2k评论 3

在前端使用 JS 进行分类汇总
最近遇到一些同学在问 JS 中进行数据统计的问题。虽然数据统计一般会在数据库中进行,但是后端遇到需要使用程序来进行统计的情况也非常多。.NET 就为了对内存数据和数据库数据进行统一地数据处理,发明了 LINQ (L...

边城17阅读 2k

封面图
过滤/筛选树节点
又是树,是我跟树杠上了吗?—— 不,是树的问题太多了!🔗 相关文章推荐:使用递归遍历并转换树形数据(以 TypeScript 为例)从列表生成树 (JavaScript/TypeScript) 过滤和筛选是一个意思,都是 filter。对于列表来...

边城18阅读 7.8k评论 3

封面图

努力可以改变能力

266 声望
8 粉丝
宣传栏