vue 项目难点_使用vuejs开发项目中遇到的问题总结

最近有幸能使用vuejs开发公司的图片管理系统,之前都是小打小闹,自己在本地写写demo,自然也没遇到什么坑爹的问题。

这次和大家分享一下我在该项目中遇到的坑。

1、使用axios.js处理异步加载时发现请求时传递参数会直接发送js对象到后端,而不是发送Form Data,下面是两种传递参数方式的对比。

而且post请求会发送两次请求,第一次的method是OPTIONS,第二次才是POST。

解决办法:配合qs插件使用,也就是将对象格式化成FormData,类似jquery的serializeArray()方法

var qs = require('qs');

var str = qs.stringify(obj);

2、使用vue-router时URL模式引发的问题。

vue-router提供一个mode参数,用来控制url的格式,默认的是用hash格式,而我在项目中使用的是history格式。

const router = new VueRouter({

mode: 'history',

routes: [...]

})

对比一下两种url格式的差异:

hash模式:http://localhost:8080/#/image/manage

history模式:http://localhost:8080/image/manage

使用history模式后发现手动切换页面一切正常,但刷新页面时会提示页面不存在(404)。原因就是后端程序把url解析了,而使用hash模式url中会有一个#号分割,后端默认不会解析#后面的参数。

这个问题其实在vue-router官方文档中也有介绍。

  • 1
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值