之前学习使用vue,axios以及fetch去链接一个接口时遇到一些问题,这些问题都已经解决了,拿出来和你们分享一下。
源代码在最下面
一、搭建基本项目
http://blog.csdn.net/Small_Lee/article/details/68062223css
二、安装mint ui,vuex
npm install mint-ui --save,若是是使用淘宝镜像那就是cnpm install mint-ui --save
npm install vuex --save,若是是使用淘宝镜像那就是cnpm install vuex --save
还有引入css,js的请看这里http://blog.csdn.net/liwusen/article/details/53519342?utm_source=itdadao&utm_medium=referralvue
三、先上一个成功的截图
ios
问题描述
一、post跨域失败
地址问题axios.post(url,data),这里的url写上了整个地址,这样的话post直接请求是不被接受的,因此要假装一下(使用代理写入url地址)git
这样设置完代理以后,而后在请求的时候就能够写成下面这样
github
在这里的fetch('/restful/entrance/login', data)也是调用上面的函数,和axios.post('/restful/entrance/login', data)是同样的
这里的url地址就等于http://xxx.xxx.cn/restful/entrance/login。
这就是一种地址的代理。若是不用这种的话,可能会出现如下错误
这是正确的图,错误的图是箭头指向处不是post而是options,出现的错误代码多是404vuex
2.数据传不过去
以前data数据一直传不过去,我一步一步看的时候发如今下图的这个位置丢失了数据
npm
有两种解决方法
第一种:引入qs,不用安装,在安装axios的时候就有了
第二种:
这个图是我另外一个项目和以前的图不是同一个,这种方法也能够解决。其实都是把传递的数据改成一种字符串,原本是数组axios
基本就是这两个问题不对
等我有时间把github弄好以后会把源码传上去,把地址分享到这里来
如下是个人微信,你们有问题的话能够一块儿交流学习
跨域