您的位置:首页 > Web前端 > Vue.js

(vue) 如何在webpack项目中使用axios 【两种方法都可行,已实测】

2019-01-24 10:03 746 查看

 因为以前接触过jquery  以为传值都是用ajax 结果大错特错!

     vue 传值需要用到axios  这里只介绍vue里axios的用法,至于详解 感兴趣的朋友 可以自行去百度

  方法一:

  •  第一步:npm install axios --save 
  • 第二步:全局里引入axios 
  1.  ​​​​​ import axios from 'axios'
  2.  Vue.prototype.$http=axios
  3. 第三步:在需要引入的页面 直接使用  this.$http({

                                            method:'post ',

                                            url:'后台给的地址',

                                           data:{‘参数','值'}           

                                          }).then((res)=>{console.log(res)}).catch((err)=>{console.log(err)})

方法二:

 第一步 :npm install  axios  --save

第二步:直接在要引入的页面引入axios   

  1. import  axios from 'axios'
  2. axios({

                   method:'post',

                 url:'后台给的地址',

                 data:{'参数':'值'}

                  }).then((res)=>{console.log(res)}).catch((err)=>{console.log(err)})

 两种方法都可以实现的  至于为什么两个都用post  那是后台要求的 再说post也着实get安全性要高些

 就像ajax一样,axios后面也接了两个函数,一个是then ,代表请求成功;一个是catch,代表请求失败。

  注:请求配置中,只有URL是必需的,method 如果不写的话 将默认为get

       以下是拓展 

          状态码:

    以下是常见的几种状态码 ,可以借鉴下

状态码 意义
200 请求成功
400 参数错误
404 地址不存在
405 一般是请求方式错误
500 服务器错误
502 请求超时,无效网关

 

             参考链接:status官网

 

           跨域

       跨域简言之 就是 一个域下的文档或脚本试图去请求另一个域下的资源。为什么产生跨域?在1995年 Netscape公司引入浏览器,且约定了同源策略(same origin policy)。所谓同源是指“协议+域名+端口”三者相同,即使两个不同的域名指向同一个IP地址,也非同源。

     同源策略限制:

  1.   Cookie ,localStorage,sessionStorage和indexDB无法读取。
  2.   DOM和JS对象无法读取。

      3.AJax请求不能发送。

 说实话 ,我在写项目的时候,经常遇到这种情况,但是 一般是后台帮忙解决了、所以 我一般也不是很懂。如果有朋友对这一块感兴趣的话 可以参考 前端常见跨域解决方案(全)

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: