(vue) 如何在webpack项目中使用axios 【两种方法都可行,已实测】
因为以前接触过jquery 以为传值都是用ajax 结果大错特错!
vue 传值需要用到axios 这里只介绍vue里axios的用法,至于详解 感兴趣的朋友 可以自行去百度
方法一:
- 第一步:npm install axios --save
- 第二步:全局里引入axios
- import axios from 'axios'
- Vue.prototype.$http=axios
- 第三步:在需要引入的页面 直接使用 this.$http({
method:'post ',
url:'后台给的地址',
data:{‘参数','值'}
}).then((res)=>{console.log(res)}).catch((err)=>{console.log(err)})
方法二:
第一步 :npm install axios --save
第二步:直接在要引入的页面引入axios
- import axios from 'axios'
- 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地址,也非同源。
同源策略限制:
- Cookie ,localStorage,sessionStorage和indexDB无法读取。
- DOM和JS对象无法读取。
3.AJax请求不能发送。
说实话 ,我在写项目的时候,经常遇到这种情况,但是 一般是后台帮忙解决了、所以 我一般也不是很懂。如果有朋友对这一块感兴趣的话 可以参考 前端常见跨域解决方案(全)
- vue-cli+webpack在生成的项目中使用bootstrap方法(一)
- 详解如何使用webpack在vue项目中写jsx语法
- 如何使用webpack在vue项目中写jsx语法
- 使用webpack打包后的vue项目如何运行(express)
- 使用webpack打包后的vue项目如何正确运行(express)
- 如何使用webpack打包vue项目?
- webpack搭建的vue-cli项目如何使用sass?
- vue-cli+webpack在生成的项目中使用bootstrap方法(二)
- 用npm安装vue和vue-cli,并使用webpack创建项目的方法
- 详解如何使用webpack打包Vue工程
- 详解vue项目优化之按需加载组件-使用webpack require.ensure
- vue解决使用webpack打包后keep-alive不生效的方法
- 如何在vue && webpack 项目中的单文件组件中引入css
- 使用vue-cli+webpack搭建vue开发环境的方法
- vue项目使用webpack loader把px转换为rem
- Vue+Router+Webpack+Axios 构建项目实战(一)项目搭建
- vue-cli webpack 项目打包后如何运行
- webpack+vue 构建项目步骤并且使用sass 安装配置
- 关于使用Vue-cli脚手架配合webpack-simple构建项目操作流程(自用)
- Vue2.0与 [百度地图] 结合使用———vue+webpack+axios+百度地图实现组件之间的通信