美文网首页
2019-08-02 vue.js2.0 单页面使用Axios

2019-08-02 vue.js2.0 单页面使用Axios

作者: 追寻1989 | 来源:发表于2019-08-02 11:12 被阅读0次

通常一些小型的项目,没必要大费周章的搭建脚手架,直接以CDN的方式引入vue.js 即可享受到vue的便利性

那么我们想用到vue中的一些功能,比如axios 呢。
axios使用post方法时传输数据给后台默认为json格式,有时会导致跨域问题,如下图:

image.png
axios本质还是Ajax,而Ajax直接请求普通文件存在跨域无权限访问的问题,甭管你是静态页面、动态网页、web服务、WCF,只要是跨域请求,一律不准。而json是一种数据交换格式,前台一般要发给后台的数据都是json格式的,但这就导致后台需要对json进行解析,而且json文件也会导致ajax的跨域问题。在vue-resource中,我使用的解决方法是使用它本身封装的方法:jsonp方法,来解决跨域问题,即通过添加script标签,通过里面的src来解决跨域问题。
而axios中则有另外一种方法,即qs,使用qs的stringify方法,可以将前端中的对象转换为字符串格式发送给后端,不仅利于解析,也能解决跨域问题。

使用qs只需要在要使用qs的组件里引入,然后直接使用它的方法即可

注意:Axios与Qs必须配合使用,否则后台会拿不到数据

CDN引入:
Axios:

<script src="https://unpkg.com/axios/dist/axios.min.js"></script>

Qs:

<script src="https://cdn.bootcss.com/qs/6.5.1/qs.min.js"></script>

使用方法:

let isurl = "www.xxxxx.com/list";
let o={
    id:2
}
axios.post(isurl,Qs.stringify(o)).then(res=>{
    console.log(res);
}).catch(err=>{
    console.log(err);
})

axios.post 修改header头的方法:

axios.post(isurl,Qs.stringify(o),{'
    header:{
        'Content-Type': 'multipart/form-data'
    }
})

相关文章

  • 2019-08-02 vue.js2.0 单页面使用Axios

    通常一些小型的项目,没必要大费周章的搭建脚手架,直接以CDN的方式引入vue.js 即可享受到vue的便利性 那么...

  • Vue项目axios封装

    request.js封装axios api.js中 axios的使用 页面中调用接口

  • IE11 304缓存导致的bug

    背景: 使用vue + axios 写的search页面,在axios的interceptors中增加了elmen...

  • 后台管理系统的技术点

    npm install axios--save axios页面中的使用 时间过滤器npm install mome...

  • axios

    最近通过 Vuejs 重构旅游页面项目使用到 axios 获取数据。对照官方文档,简要记录一些 axios 的使用...

  • vue api 使用axios

    1.安装axios npm: npm install axios -S 2. 使用的页面中引入 import ax...

  • axios发送两次请求,options与get/post

    因为vue-resource不在更新,vue推荐使用axios,所以使用axios。 在页面交互过程中,发现axi...

  • axios封装

    index.js------axios封装 api.js------接口文件 单页面引入---login.vue ...

  • vue 封装axios请求(基础版)

    新建页面,封装axios请求; main.js引用封装的请求; 页面使用请求 ————————————————版权...

  • vue+gin前后端分离

    1.gin 很简单,写个api接口 2.vue 搭建vue环境,两个单页面 main.js需要使用路由和axios...

网友评论

      本文标题:2019-08-02 vue.js2.0 单页面使用Axios

      本文链接:https://www.haomeiwen.com/subject/eznkdctx.html